В фреймворке 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
«Если окинуть взглядом свою жизнь, готов спорить, о 80% своих поступков вы пожалеете. Но жизнь — это и есть ошибки».
Сегодня исполнилось 79 лет Сильвестру Сталлоне.
#ВИДЕОТЕКА
#SylvesterStallone
#Rocky
#FirstBlood
#Cobra
#TangoAndCash
#Cliffhanger
#DemolitionMan
#TheSpecialist
#Copland
#TheExpendables2
#TulsaKing
«Я в основном играю таких суровых парней в боевиках. Может быть, это потому, что я в жизни нежный и романтичный. Я не люблю драться, не люблю влипать в неприятности, и поэтому мне интересно играть свою противоположность в кино».
Сегодня Дольфу Лундгрену исполнилось 68 лет.
#ВИДЕОТЕКА
#DolphLundgren
#RockyIV
#ThePunisher
#ShowdownInLittleTokyo
#UniversalSoldier
#MenOfWar
#JohnnyMnemonic
#Blackjack
#TheExpendables2
#Creed2
#Aquaman
«Пару раз я разговаривал со Шварценеггером. Удивительно, но мы мыслим практически одинаково. Наш разговор, наверное, был самым скучным разговором на свете: «Вот именно, Чак», «Совершенно верно, Арни».
Сегодня Чаку Норрису исполнилось 86 лет.
#ВИДЕОТЕКА
#ChuckNorris
#TheWayOfTheDragon
#AnEyeForAnEye
#LoneWolfMcquade
#CodeOfSilence
#DeltaForce
#Firewalker
#WalkerTexasRanger
#ForestWarrior
#TheExpendables2
#HawaiiFiveO