В фреймворке 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
Taehyung from his trainer’s Instagram!
👤V~!
Please don’t be so good at even exercising ㅜㅜㅎㅎ
you’re too cool, bro!
https://www.instagram.com/p/DMu7RRMyOBC/?igsh=cGh4Z2FxN3RseWE2
#INSTAGRAM
•@OUR_7_PRINCES•
Taehyung went to Japan on 29th June for work, that's why the photos of Taehyung going to Japan were not leaked, but yesterday the photos of Taehyung returning from Japan on 1st July were leaked and today the photos of Taehyung going to Japan were given by reporters...
#instagram
@OUR_7_PRINCES