В фреймворке 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
❗️La situation à la centrale nucléaire de #Bouchehr en Iran continue de se détériorer en raison des bombardements, a déclaré Alexeï #Likhatchov.
Un projectile a explosé pour la troisième fois près d’une station de pompage qui assure notamment l’approvisionnement en eau des équipements du réacteur, ce qui constitue une menace directe pour la sûreté nucléaire, a souligné le chef de Rosatom.
RT en français • Osez questionner !
⚛️#Rosatom a l’intention de poursuivre la construction de la centrale nucléaire de Bouchehr, a déclaré Mikhaïl Oulianov, représentant permanent de la #Russie auprès des organisations internationales à Vienne. Le personnel retournera sur le site « dès que la situation militaire le permettra », a-t-il précisé.
ℹ️ La centrale nucléaire de #Bouchehr est la seule exploitation en Iran. Les employés travaillaient à la construction des deuxième et troisième réacteurs, mais les travaux ont été suspendus par le lancement de l'opération militaire américano-israélienne contre l'Iran. Le 20 avril, Rosatom a achevé l'évacuation de ses 632 employés.
RT en français • Osez questionner !