В фреймворке 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
💥 NEW PARTNERSHIP ANNOUNCEMENT 💥
🚀 We're excited to announce our partnership with Sauces
🥫Sauces:
Turning up the heat in the crypto kitchen on the #ION ecosystem with the tastiest tokens around!
👉Play Game
🥨 Follow Sauces
X(Twitter)|Channel| Mini app
——————————
📈 Follow HoldCoin
X(Twitter) | Group | Channel | Mini app
✨ Время пришло! Листинг $ION состоится во вторник, 3 марта.
Это финальный шаг перед запуском токенизированых сообществ в #OnlinePlus, вместе с PUMPit.
🚀 Построим новый Online. #ION x #BNBChain