В фреймворке 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
🚀 .eths domain name is live on TokenPocket! domain_eths
👉https://www.tokenpocket.pro/
.eths domains are a brand new type of domain for the web3 era, built on the foundation of #Ethscriptions.
💚From now on, if you transfer assets to the .eths domain holder's address, you can view their valuable .eths on TokenPocket_TP!
【Details】https://twitter.com/TokenPocket_TP/status/1732331561230745669
【Powered By】Crypto Box
🌳.tree domain name is live on TokenPocket! ForestTLD TokenPocket_TP
👉http://tokenpocket.pro
🟩Enjoy your #Ethscriptions Forest on TokenPocket Wallet. #Ethereum
🌳The .tree domain, a popular TLD on Ethscriptions, is dedicated to promoting environmental sustainability and introducing green initiatives to web3. It boasts a robust community and approximately 50,000 registrations, with the professional team of MetaForest.
【Details】https://twitter.com/TokenPocket_TP/status/1732594541361013195
【Powered By】Crypto Box