В фреймворке 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
🚨New Post Alert - Check out this article by contributing author FedUpTexasChick
‘A Succinct History of The US Bioweapons Program’
https://thetenpennyreport.com/succinct-history-us-bioweapons/
#biolabs#bioweapons
🔹👉🏻@SherriTenpenny
🇺🇸Take a look inside a US top secret bioweapons laboratory...
Journalists began sounding the alarm over the existence and development of bioweapons by the US government as long as 3 years ago...
From toxic fleas to deseased mosquitos, and these are just the experiments that have been declassified to the public.
💥 Since then, the Pentagon has been funding numerous biolabs around the world, some too dangerous to host on home soil, and others involved in specific genome research of people who live in the area.
#Bioweapons#biolab#biothreat
Share and subscribe to American Majority