В фреймворке 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
7zip[.]com竟然是黑客搭建的钓鱼网站 安装代理软件把用户系统当肉鸡中转流量
1999年就注册的顶级域名 7zip [.] com 竟然被用来投放恶意软件,目前尚不清楚黑客买下该域名还是通过某种方式控制了该域名。安全公司发现这个域名冒充 7-Zip 并分发带毒版本,而黑客目的则是代理 IP 池,即释放恶意软件用来中转流量,让第三方可以通过受害者的家宽 IP 路由流量
标签:#7zip
Created by RocM
官方频道:@rocCHL
官方群组:@roctech
官方合作:@rocmmbot