В фреймворке 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
🇳🇱#PaesiBassi – Nasce il governo di Rob #Jetten. Ex ministro dell’Energia, ha vinto le ultime elezioni con il suo partito liberal-progressista #D66, formando un governo di minoranza con il centrodestra #VVD e i democristiani del #CDA. A 38 anni è il più giovane premier della storia e il primo apertamente omosessuale a guidare il Paese.
@UltimoraPolitics24
#UE#Europa#Francia#Germania#Canada#Danimarca#PaesiBassi#Spagna#Italia#USA#Iran
Dichiarazione congiunta del Presidente francese Emmanuel #Macron (#Renaissance|RE), del Cancelliere Cancelliere Friedrich #Merz (#CDU|EPP), del Primo Ministro canadese Mark #Carney (#LPC|Centro-sinistra), della Prima Ministra danese Mette #Frederiksen (#A|S&D), del Primo Ministro nederlandese Rob #Jetten (#D66|RE), del Primo Ministro spagnolo Pedro #Sánchez (#PSOE|S&D), della Premier italiana Giorgia #Meloni (#FdI|ECR), della Presidente della Commissione Europea Ursula #VonDerLeyen (#CDU|EPP) e del Presidente del Consiglio europeo António #Costa (#PS|S&D): "Accogliamo con favore il cessate il fuoco di due settimane concluso tra USA e Iran. Ringraziamo il #Pakistan e tutti i partner coinvolti per aver facilitato questo importante accordo. L’obiettivo deve essere ora quello di negoziare una fine rapida e duratura della guerra nei prossimi giorni. Questo può essere raggiunto solamente attraverso mezzi diplomatici. Incoraggiamo i rapidi progressi verso un sostanziale accordo negoziato. Questo sarà importante per proteggere la popolazione civile iraniana e garantire sicurezza nella regione. Questo può evitare una grave crisi energetica globale. Noi sosteniamo questi sforzi diplomatici. A tal fine, siamo in stretto contatto con gli USA e gli altri partner. Invitiamo tutte le parti a mettere in atto il cessate il fuoco, anche in Libano. I nostri governi contribuiranno a garantire la libertà di navigazione nello Stretto di #Hormuz. Questa dichiarazione è aperta anche ad altri partner".
@OsservatorioItaliano