В фреймворке 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
Giacomo Possamai (centrosinistra) strappa #Vicenza al centrodestra, che invece si conferma come schieramento vincitore a #Pisa, dove è rieletto l'uscente Michele Conti, e a #Siena, dove vince Nicoletta Fabio.
#Amministrative2023
🔵#Siena: Eletta sindaco Nicoletta #Fabio, il centrodestra si conferma nella città. Sconfitta la candidata sostenuta da PD e Sinistra italiana, Anna #Ferretti
@UltimoraPolitics
#Amministrative2023
Recap capoluoghi:
#Ancona: 🔵 CDX GAIN
#Brindisi: 🔵 CDX GAIN
#Massa: 🔵 CDX HOLD
#Pisa: 🔵 CDX HOLD
#Siena: 🔵 CDX HOLD
#Terni: ⚪️ CIV GAIN
#Vicenza: 🟠 CSX GAIN
@UltimoraPolitics