В фреймворке PyQt (и PySide тоже) часто встречается настройка чего-либо с помощью так называемых флагов.
widget.setWindowFlags(Qt.Window)
Взаимодействие нескольких флагов делается с помощью бинарных (или побитовых) операторов.
Несколько флагов можно указать с помощью оператора "|"
list_item.setFlags(Qt.ItemIsSelectable | Qt.ItemIsEnabled)
исключить флаг из уже имеющегося набора можно так
list_item.setFlags(list_item.flags() ^ Qt.ItemIsEnabled)
Добавить новый флаг к имеющимся можно так
list_item.setFlags(list_item.flags() | Qt.ItemIsEnabled)
А проверка наличия делается так
is_enabled = item.flags() & Qt.ItemIsEnabled > 0
Почему именно так? Всё дело в том как именно работают побитовые операторы. Но об этом в следующем посте.
#qt
🚀 **Rediscover "A Message From Mars" (1913): Cinema’s Interplanetary Comedy!** 🌟
Travel back with Britain’s first sci-fi feature, where a Martian helps a selfish man learn kindness. Love classic movie magic? Subscribe now for more timeless film gems—exclusive reviews await! 🎬✨#ClassicMovies#SilentFilm#SubscribeNow
https://publicdomainmovies.info/a-message-from-mars-1913/
🚨 SingSing Spotlight Channel is here! 🚨
Want to stay ahead of the game? 🌟 Subscribe now for exclusive updates on our upcoming Tycoon Game! 🎤🎶
From sneak peeks to important announcements – you won't want to miss it! 👀
📲 Join the channel now and be the first to know: https://t.me/singsingspotlight
🎁 Bonus: After subscribing, head to the Mission section of the SingSing Mini App to claim your RUBY rewards! 💎
#SingSingTycoon#GameUpdates#SubscribeNow#RUBY
🎤Announcement | Chat | X (Twitter) | Website | Game
Exciting news!
🎉 We’ve reopened the SingSing Channel on Telegram. Get all the latest updates about SingSing.
Subscribe now: SingSing Telegram Channel🚀❤️
Read more and open treasure at: X Post
#SingSingChannel#Telegram#StayUpdated#SubscribeNow