В фреймворке 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
📺 - EL GUERRERO DE CHINATOWN - 📺
Título Original: Warrior
Género:#Acción#Drama#Histórica#ArtesMarciales
Temporadas: 3 📼
Año: 2019 - 2023
Origen: EEUU 🇺🇸
Tráiler:youtu.be/J0QMqpHXYeM
Saga:Sí✅
Sinopsis:
Ambientada en San Francisco a finales del siglo XIX, sigue a Ah Sahm, un prodigio de las artes marciales que llega desde China en busca de su hermana. Pronto se ve envuelto en la guerra de pandillas del barrio chino, enfrentando violencia, traiciones y alianzas inesperadas mientras lucha por sobrevivir en un mundo hostil.
Disponible:⌛️Netflix | HBO Max | Movistar+
@SeriesClubHD