В фреймворке 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
🌍 The world’s largest atoll by land area is Kwajalein in the Marshall Islands. Its ring-shaped coral formation encloses a lagoon larger than most inland lakes and supports unique marine life. ✨
#coralreef⚡#lagoon⚡#biodiversity⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
Be soft. Do not let the world make you hard. Do not let pain make you hate. Do not let the bitterness steal your sweetness. Take pride that even though the rest of the world may disagree, you still believe it to be a beautiful place..🤍
Video/Photo Créateur @konstantin.rivera 🤍
MUAH @richy_yuliana🕊
Style @olgasheremeta🦢
#chakras#mantra#mantramonday#gipsy#balance#levitation#purelove#heavenonearth#hooponopono#petitefemme#mira#moodoftheday#video#lagoon