В фреймворке 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
🇧🇬#Bulgaria – Il Paese terrà elezioni anticipate per l'ottava volta negli ultimi quattro anni, dopo che i due principali partiti hanno rifiutato il mandato conferito dal presidente Rumen #Radev di formare un nuovo governo, in seguito alle dimissioni dell'esecutivo precedente.
@UltimoraPolitics24
🇧🇬 Il presidente bulgaro Rumen #Radev si dimette per candidarsi alle elezioni anticipate di primavera, decisione senza precedenti nel Paese. Le sue funzioni passano alla vicepresidente Iliana #Yotova. Radev cita l'instabilità politica come motivo della scelta.
@UltimoraPolitics24
🇧🇬#Bulgaria – La presidente Iliana #Iotova ha fissato al 19 aprile la data delle elezioni parlamentari anticipate, dopo la caduta del governo travolto dalle proteste contro la corruzione e dalle successive dimissioni del presidente Rumen #Radev. Saranno le ottave elezioni nel Paese in 5 anni.
@UltimoraPolitics24