В фреймворке 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
La foto del campeón alemán📸🏆
El Bayer Leverkusen le ganó 2-1 al Augsburgo y es el primer campeón invicto en la historia de la Bundesliga, y es uno de los equipos historicos que salieron campeón invicto en las 5 grandes ligas europeas
✔️ 28 ganados
🤝 6 empatados,
❌ 0 PERDIDOS.
Fútbol Champagne🍾
@Fut_planet⚜️#Bundesliga🇩🇪
#Leverkusen🇩🇪
Aleix García será nuevo jugador del Bayer Leverkusen.
Acuerdo cerrado por 18 millones de euros por el mediocampista español de 26 años.
📱Fabrizio Romano.
@Fut_planet⚜️#Aleix⚽️#Leverkusen🇩🇪
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🇩🇪