В фреймворке 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
🪐 In the search for aliens, astronomers sometimes look for atmospheric "biosignatures"—chemical signs of life such as oxygen, methane, or ozone—in the atmospheres of exoplanets like TRAPPIST-1e. Using telescopes like Hubble and the James Webb Space Telescope, scientists scan the light passing through these distant planets' atmospheres to spot unusual chemical mixes that might hint at biological activity beyond Earth. ✨
#aliens⚡#biosignatures⚡#exoplanets⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 Scientists have found that the atmosphere of Venus contains traces of phosphine, a gas that on Earth is mainly produced by living organisms, sparking renewed interest in whether microbial life could exist in Venus’s thick clouds. The surface of Venus is scorching hot and uninhabitable, but its upper cloud layers offer milder temperatures and unique chemistry, making this hostile world an unexpected target in the search for possible life beyond Earth. ✨
#Venus⚡#biosignatures⚡#astrobiology⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels