В фреймворке 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 escalation continues… and #Iran denies any negotiations with #America. Missile strikes and underground bases remain operational despite the bombing. The #Yazd base becomes a military enigma, baffling everyone. And the #Lebanon front…
video link (Subtitled):https://youtu.be/DOebjiVJxlU?si=24HNJ2m9osQy8a4L
#Yazd city police officer will stop cars with illegal speed and give some tea 🍵.
it is #nowruz. one of big holidays and longest of #Iran. many people die because of high speed or do not sleep among long time driving almost.
@skhanzadeh_ir
gap.im/skhanzadeh_ir_en
https://whatsapp.com/channel/0029VaVseQCG8l5EEZ0X4f0y
فناوری برای بشریت
پیوند دعوت به ویراستی: https://virasty.com/r/QuE
И опять двери 🥰
Новая серия фотографий иранских дверей. Таких разных и таких колоритных
#Tehran#Шираз#Shiraz
#Yazd#Иран#отдых_в_Иране#Iran#Ирантур#Нозари#иран#iranИран — тонкости туризма