В фреймворке 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
✅✅ 86% Profit on #JUP/USDT for our Premium Members on Binance Futures, Bitget Futures, ByBit USDT, KuCoin Futures, OKX Futures
✔️✔️Trade has been exited in great profit
👁🗨Contact @primemod to enter the Premium Group for daily gain
🚀 70% Profit on #JUP/USDT for our Premium Members
👆🏻👆🏻These are terrific profit and we continue to be the best
👁🗨Contact @primemod to enter the Premium Group & make daily gains on Spot & Futures Market