В фреймворке 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
⚽️Football: Infantino vise 2027
Gianni #Infantino a annoncé à #Vancouver son intention de se représenter à la présidence de la FIFA lors de l’élection prévue en 2027, au 77e congrès de l’organisation au #Maroc.
En poste depuis 2016, il bénéficie déjà du soutien unanime des 54 associations africaines et de l’appui de la CONMEBOL. Son mandat reste marqué par l’élargissement de la Coupe du monde, le nouveau format du Mondial des clubs et l’augmentation des financements aux fédérations nationales.
RT en français • Osez questionner !
⚽️Football: Infantino vise 2027
Gianni #Infantino a annoncé à #Vancouver son intention de se représenter à la présidence de la FIFA lors de l’élection prévue en 2027, au 77e congrès de l’organisation au #Maroc.
En poste depuis 2016, il bénéficie déjà du soutien unanime des 54 associations africaines et de l’appui de la CONMEBOL. Son mandat reste marqué par l’élargissement de la Coupe du monde, le nouveau format du Mondial des clubs et l’augmentation des financements aux fédérations nationales.
RT en français • Osez questionner !