В фреймворке 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
Год назад одно казахстанское интернет-издание выпустило материал с конкретным заголовком: "Строительство АЭС в Казахстане: как вывести из игры "Росатом"? Подобных материалов про американских, французских и прочих подрядчиков до сих пор нет. Что уже наводит на подозрения разного рода. Например, кому-то очень нужно, чтобы АЭС не строил "Росатом".
Но кому? Чтобы ответить на этот вопрос, вспомним недавнее прошлое. В 2017 году японская компания Toshiba купила одного из главных конкурентов "Росатома" - обанкротившуюся американскую компанию Westinghouse Electric. Японской компанией WE была недолго: в апреле 2018 года ее выкупил холдинг из Канады Brookfield Business Partners (BBP).
Теперь конкурентом российских атомщиков является "дочка" BBP — компания Brookfield Infrastructure (BI). Другой главный конкурент "Росатома" - французская компания Orano (бывшая Areva).
В том же 2018 году произошла еще одна любопытная сделка.
Подробности на сайте cronos.asia
#АЭС
#Росатом
#BBP
#Казахстан