В фреймворке 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
Les projets de Michel #Barnier
Le 2 octobre, Michel Barnier a prononcé son discours de politique générale devant l'#Assemblée nationale. C'est une occasion sans précédent pour un nouveau chef de gouvernement de détailler sa feuille de route devant les députés. Que peut-on en retenir ? Antoine Cléraux fait le point.
RT en français
#Francia#AN
Con 331 voti favorevoli, l'Assemblea Nazionale approva la mozione di sfiducia nei confronti del Primo Ministro Michel #Barnier (#LR|EPP).
Video di LCP.
@OsservatorioEsteri
#Francia
L’ex capo negoziatore dell’#UE per la Brexit Michel #Barnier (#LR|EPP) è stato nominato Primo Ministro dal Presidente Emmanuel #Macron (#Renaissance|RE).
@OsservatorioEsteri
#Francia
È stata pubblicata la lista del Governo di Michel #Barnier (#LR|EPP):
-Primo Ministro: Michel Barnier (LR);
-Ministro della Giustizia: Didier #Migaud;
-Ministra del Partenariato Territoriale e del Decentramento: Catherine #Vautrin (#Renaissance|RE);
-Ministro dell'Interno: Bruno #Retailleau (LR);
-Ministro dell'Istruzione Nazionale: Annie #Genetet (Renaissance);
-Ministro degli Esteri e dell'Europa: Jean-Noël #Barrot (#MoDem|RE);
-Ministra della Cultura: Rachida #Dati (DVD|Centro-destra|Destra);
-Ministro delle Forze Armate e dei Veterani: Sébastien #Lecornu (Renaissance);
-Ministra della Transizione Ecologica, dell'Energia, della Prevenzione dei Rischi e del Clima: Agnès #PannierRunacher (Renaissance);
-Ministro dell'Economia e delle Finanze: Antoine #Armand (Renaissance);
-Ministro della Salute e dell'Accesso alle Cure: Genevière #Darrieusseq (Renaissance);
-Ministro della Solidarietà, dell'Autonomia e della Parità di Genere: Paul #Christophe (#Horizons|RE);
-Ministra dell'Edilizia Abitativa e del Rinnovamento Urbano: Valerie #Letard (#LIOT/#UDI|RE);
-Ministra dell'Agricoltura, della Sovranità Alimentare e della Silvicoltura: Annie #Genevard (LR);
-Ministra del Lavoro e dell'Occupazione: Astrid #PanosyanBouvet (Renaissance);
-Ministro dello Sport e della Gioventù: Gil #Avérous;
-Ministro dell'Istruzione Superiore e della Ricerca: Patrick #Hetzel (LR);
-Ministro della Pubblica Amministrazione, della Semplificazione e della Trasformazione dell'Azione Pubblica: Guillaume #Kasbarian (Renaissance);
-Ministro d'Oltremare: François-Noël #Buffet (LR);
-Ministro del Bilancio e dei Conti Pubblici: Laurent #SaintMartin (LR).
@OsservatorioEsteri