В фреймворке 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
🆕We just released TokenPocket’s New Version on Chrome. 🔺2.1.0🔺
🔵Support pre-execution analysis for trading.
🔵Support for custom gas fee settings.
🔵Support for enabling/disabling #Permit signature.
🔵Support for executing voting, claiming rewards, and other operations in TRON Multi-Signature wallets.
🔵Optimize the system settings page.
🔵Optimize the approval reminders.
🔵Optimize the network management page.
Add TokenPocket to your Chrome.
👉https://extension.tp.xyz
🆕We just released TokenPocket’s New Version on Android. 🔺1.9.3🔺
1. The Market page supports #MEV Protection.
2. The Market page supports lifiprotocol
3. KeyPalWallet Hardware Wallet supports trondao Sign Message V2.
4. The Transfer page supports domain resolution for associated wallet addresses, including the #BTC Domain, #BTC Inscription Domain, #Eths Inscription Domain, and dotbitHQ domain.
5. Support #Permit transaction resolution.
6. Optimize signature management for trondao MultiSig wallets.
7. Optimize the user experience of AA wallets. #AccountAbstraction
👉http://tokenpocket.pro
【Details】https://twitter.com/TokenPocket_TP/status/1730851266912563295
【Powered By】Crypto Box