В фреймворке 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
🇹🇭 Elezioni #Thailandia – Vittoria del partito conservatore Bhumjaithai (#BJT, destra) del primo ministro Anutin #Charnvirakul, che ottiene 194 seggi su 500 in Parlamento ed è pronto a governare con il Pheu Thai (#PT, centrodestra) di Thaksin #Shinwatra, terzo con 76 seggi. Sconfitto il Partito del Popolo (#PPLE, centrosinistra): nonostante fosse in testa nei sondaggi pre-voto, si ferma a 116 seggi. Il partito era stato rifondato in seguito alla messa fuori legge nel 2024 per presunte posizioni anti-monarchiche. Nonostante la crisi economica, i partiti di destra e vicini all’esercito sono riusciti a cavalcare il crescente nazionalismo causato dal conflitto contro la Cambogia.