В фреймворке 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
🌪️🪂
Wir leben in aufwühlenden Zeiten. Aber egal, welche Herausforderungen das Leben an uns stellt, Akzeptanz und das Bewusstsein, daran zu wachsen sind der Schlüssel, in allem, was geschieht, den höheren Sinn zu erkennen.
Opfer und Verluste gehören dazu. Am Ende bietet jede noch so schwierige Situation eine Chance. Man muss sie nur nutzen.
@aliensbestfriend
#wachstum
Wir sind oft so verzweifelt bemüht, den Vorstellungen, die andere von uns haben, gerecht zu werden. Um gesehen, anerkannt zu werden. Um mangelnde Selbstliebe zu kompensieren. Warum auch immer. Dabei vergessen wir, dass wir nur uns selber gefallen müssen. Und das ist schon schwer genug. Programme und Traumata halten uns zurück.
Selbstfürsorge ist kein Egoismus. Sie ist notwendiger Startpunkt einer oft langwierigen Reise, die zur Heilung führen soll.
Und das Schöne ist, wenn wir uns selber gefallen, gefallen wir auch anderen. Aber das ist dann nicht mehr so wichtig. 💜
@aliensbestfriend
#heilung#erkenntnis#wachstum#sagendlichnein#selbstfürsorge