В фреймворке 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
⠀
19-летний Джим Керри «автостопом по Торонто», 1981
📸 Джим Расселл
⠀
🏆 В феврале 2026 актер станет обладателем почетной премии «Сезар» за карьерные достижения. Хочется добавить: давно пора!
⠀
#ДжимКерри#JimCarrey
◼ YOU probably didn't EXPECT speaker I would like to put next 😊, but surprising yourself and looking at someone from different angle is one of the most ENRICHING experiences one can have. So without further ado let me share with you this amazing speech by Jim Carrey, where he reminds us that even if you keep it safe, you can still fail so you might as well go BIG. #JimCarrey, #funny, #inspirationhttps://youtu.be/V80-gPkpH6M