В фреймворке 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
Angry Birds Dream Blast
🆕Обновление
Игра представляетиз себя нечто среднее между головоломкой из серии три в ряд и пинболом, ваша задача, запуская разноцветные шары, собирать комбинации, тем самым уничтожая массивы. Стоит отметить, что в игре реализована максимально реалистичная физика.
⚙️Мод на деньги и жизни. Кэш встроен в установщик. #Аркады
#Аркады@pm_plus
#AngryBirds@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Angry Birds Star Wars II
🆕Бытьна стороне добра или на стороне зла теперь решать вам. Перейдите на сторону злодеев Дарта Мола, Императора Палпатина и других не менее свинских персонажей и играйте за них против птичек.
⚙️Фанатская версия игры с возможностью работы на последних версиях Android, улучшены графика и увеличены денежные награды. Кэш встроен в установщик.
#Аркады@pm_plus#AngryBirds
#AngryBirds@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ
Angry Birds 2
🆕Обновление
Используйте рогатку, чтобы обрушить птичий ливень на свинские башни и спасти драгоценные яйца.
⚙️Мод на жизни. При первом запуске не забудьте дать разрешение игре на отображение поверх других окон.
#Аркады@pm_plus
#AngryBirds@pm_plus
📱Play Market +
⚡️ НАШ ЧАТ