В фреймворке 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
🚨🇺🇸TRAGIC: AIR CANADA PLANE HITS FIRE TRUCK AT LAGUARDIA
🔹 Two Air Canada pilots killed in devastating collision with fire truck 💀✈️
🔹 Fire truck responding to separate United Airlines emergency 🚑🆘
🔹 Cockpit "completely mangled" with cables hanging from wreckage 💥🕳️
🔹 LaGuardia Airport shut down, massive delays expected 🛑🏢
🔹 Complex runway crossings created operational chaos 🛣️⚠️
🔹 Air traffic control issued frantic "stop, stop" calls 📻🔀
🔹 Investigation launched into runway safety protocols 🔍📋
NYC aviation faces major disruption as travelers scramble 📞✈️😟
#USNews#Aviation#LaGuardia#Breaking
@america
🇨🇦Самолёт Air Canada столкнулся с пожарной машиной в Ла-Гуардии – погибли оба пилота
📌Утром 23 марта в нью-йоркском аэропорту Ла-Гуардия самолёт Air Canada Express CRJ-900, выполнявший рейс из Монреаля, столкнулся с пожарной машиной при посадке. Оба пилота погибли, 41 человек получил травмы, девять из них находятся в больнице с серьёзными повреждениями. На борту было 72 пассажира и 4 члена экипажа
🔵По предварительным данным, пожарная машина выезжала к другому борту – рейсу United Airlines, объявившему аварийную ситуацию из-за запаха в салоне. Диспетчер дал разрешение на пересечение полосы, но почти сразу начал кричать «Stop, stop, stop» – машина уже не отвечала. Столкновение произошло на ВПП 4 у рулёжной дорожки Delta. Носовая часть самолёта полностью разрушена
🔵Аэропорт был закрыт до 18:00 GMT, отменено более 540 рейсов. NTSB и канадские специалисты расследуют инцидент. Эксперты отмечают, что ключевым вопросом станут действия диспетчера и коммуникации – на фоне хронической нехватки персонала в авиации США
⬅️Вечного полёта экипажу...
Лёгкое небо
#aviation#news#aircrash#США#AirCanada#LaGuardia