В фреймворке 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
💥Marsella en mayo💥
✈️Desde Madrid 26€: 16 al 18 mayo
✈️Desde Alicante 59€: 25 al 28 mayo
✈️Desde Mallorca 50€: 16 al 23 mayo
✈️Desde Valencia 62€: 22 al 26 mayo
✈️Desde Barcelona 18 al 22 mayo
✈️Desde Malaga 63€: 19 al 23 mayo
Vuelos con salida desde #Marsella, #Alicante, #Mallorca, #Valencia, #Barcelona y #Malaga
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
Por otra parte, en Europa League🟠 el día de hoy, también se decidirán los finalistas de la competición.
De un lado, Marsella🇫🇷 y Atalanta 🇮🇹 están empatados 1-1 en el global
Del otro lado, el Leverkusen🇩🇪 va ganando 2-0 en el global y quiere seguir haciendo historia, el conjunto de Xabi Alonso🇪🇸 se verá cara a cara contra los Romanos comandados por De Rossi🇮🇹
@Fut_planet⚜️#UEL🟠#Marsella🇫🇷
#Atalanta🇮🇹#Roma🇮🇹#Leverkusen🇩🇪