В фреймворке 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
«Все меры предосторожности» vs «Красный полицейский».
Уолтеру Хиллу нравится, когда его главные герои портят антагонистам застолье.
#ВИДЕОТЕКА
#ExtremePrejudice
#RedHeat
#ArnoldSchwarzenegger
#NickNolte
#WalterHill
«Бывают просто фильмы, и бывают звездные фильмы. Я почувствовал разницу, когда снимался в хитах вроде «48 часов». Когда ты — звезда, тебе прислуживают и угождают, студия следит за тем, чтобы ты отдохнул, твою работу часто выполняют статисты, кто-то другой подает реплики партнерам, пока ты прохлаждаешься в трейлере. Вся нагрузка падает на коллег-актеров, которым платят в десятки раз меньше тебя. Мне это не нравится».
Сегодня замечательному актёру Нику Нолти исполнилось 85 лет.
#ВИДЕОТЕКА
#NickNolte
#НикНолти
#48Hrs
#48Часов
#UnderFire
#ПодОгнем
#ExtremePrejudice
#ВсеМерыПредосторожности
#NewYorkStories
#НьюйоркскиеИстории
#ThePrinceOfTides
#ПринцПриливов
#BlueChips
#Affliction
#Скорбь
#TheGoodThief
#ХорошийВор
#Warrior
#Воин
#PokerFace