В фреймворке 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
【目前免费】用 iPhone 自动解锁 Windows
靠近即可解锁,离开自动锁屏,让解锁电脑变成一件“不需要思考”的事——既安全,又省心。
ZuUnlock 基于蓝牙低功耗(BLE)距离识别技术,让你的 Windows 拥有类似 Apple 生态的“连续互通”体验。
📌 支持 iPhone 与 Apple Watch
📌 无需额外硬件或 USB 接收器
📌 全程本地处理,密码不上传
官方网址下载(目前免费)
标签:#zuunlock
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot