В фреймворке 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
🏥🇺🇸US HOSPITALS OVERWHELMED BY WAR VETERANS
🔹 VA hospitals at 180% capacity treating wounded soldiers from Iran war 🚑
🔹 Medical staff working 16-hour shifts, mandatory overtime across nation 👩⚕️
🔹 PTSD cases skyrocket 400% among returning troops and military families 🧠
🔹 Mental health crisis: suicide hotlines report 200% increase in calls 📞
🔹 Civilian hospitals forced to treat veterans as VA system collapses 🏥
🔹 Medical supply shortage hits ICUs as resources diverted to military 💊
Healthcare system breaking under war casualties burden 😟⚕️
#healthcare#veterans#PTSD#medical
@america