В фреймворке 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
🎬📷 На съемочной площадке фильма «Крепкий орешек».
37 лет назад состоялась премьера легендарного боевика Джона Мактирнана.
#ВИДЕОТЕКА
#DieHard
#КрепкийОрешек
#BruceWillis
#БрюсУиллис
#AlanRickman
#АланРикман
#JohnMcTiernan
#BehindTheScenes
#ActionMovies
«Слово «злодей» для меня ничего не значит. Все персонажи, которых я играю, являются разноплановыми. Их мысли разбегаются во все стороны, и каждому из них присуща определенная уязвимость, которую просто надо обнаружить».
Сегодня исполнилось 80 лет со дня рождения Алана Рикмана.
#ВИДЕОТЕКА
#AlanRickman
#АланРикман
#DieHard
#КрепкийОрешек
#RobinHoodPrinceOfThieves
#РобинГудПринцВоров
#РазумИЧувства
#Распутин
#ГарриПоттер
#РеальнаяЛюбовь
#УдарБутылкой
#CBGB
#Дворецкий
#ВсевидящееОко