В фреймворке 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
💥Placa Base MSI B850 Gaming Plus WiFi
Potencia y conectividad para tus juegos de invierno
✅OFERTA: 206.95€
❌ Antes: 300.0€
💰Ahorras un 31%🔥
Rendimiento óptimo con tecnología de última generación
👉 Actualiza tu PC para la temporada de juegos
#rebajas#placabase#amd#ddr5#tecnologia#ofertas#descuentos#invierno
🛰️Oferta publicada en Tecnología
💥Placa Base ASUS Prime Z890-P WiFi
Potencia y rendimiento para tu PC navideño
✅OFERTA: 213.89€
❌ Antes: 309.9€
💰Ahorras un 31%🔥
Compatible con GPU de última generación y tecnología DDR5
👉 Mejora tu PC esta Navidad
#placabase#asusprime#tecnologia#gpu#ddr5#wifi7#thunderbolt4#navidad
🛰️Oferta publicada en Tecnología
Компактный дизайн. Высокая производительность. Красивая подсветка. XPG LANCER RGB DDR5 – это стабильность, эффективность и стиль для любой сборки.
✅ Низкопрофильный радиатор
✅ До 64GB (32ГБ*2)
✅ RGB
Апгрейд без компромиссов.
Подробнее:https://www.xpg.com/us/xpg/DRAM-modules-LANCER-RGB-DDR5
#XPG#LANCER#DDR5#Memory#DRAM#PCBuilding#PCGaming