В фреймворке 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
Russia and Mali Draw 0-0 in St. Petersburg Friendly
The friendly match between Russia and Mali ended in a goalless draw. A key moment came in the 28th minute when Russian Ivan Oblyakov missed a penalty. This was Russia’s second match during the March camp—on March 27, they defeated Nicaragua 3-1 in Krasnodar.
Experts noted, “The game was intense, with both teams showing strong competition.”
#Russia#Mali#football#friendly#sports
The main news of Russia and the world ishere.
Антиконференция от #X5Group
С роботами, искусственным интеллектом.
И тотальным #friendly…
Что понравилось:
Акцент на молодость!
Технологичный подход!
Доступная подача!
С иронией и «не калечащим» юмором…
Много гостей, из самых разных сфер и срезов!
#Сколково всё?)
Подробнее: https://x5fn.ru/
#X5FutureNight
#РоссияЗавтра
#Goelro
#FutureNight