В фреймворке 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
🌍 The largest tectonic plate, the Pacific Plate, moves up to 10 centimeters per year—faster than human fingernails grow. Its motion triggers earthquakes and reshapes entire coastlines. ✨
#plate⚡#tectonics⚡#earthquakes⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍
🌍 The Himalayas are growing taller each year because the Indian plate keeps pushing into the Eurasian plate. This slow collision also makes the region one of the world’s most earthquake-prone. ✨
#plate⚡#tectonics⚡#earthquakes⚡#mountains⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Every year, thousands of tiny earthquakes ripple along Earth's mid-ocean ridges as tectonic plates slowly spread apart. These hidden quakes help shape much of the seafloor without being felt on land. ✨
#plate-tectonics ⚡#seafloor⚡#earthquakes⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography
👉more Channels
🌍 Earth's crust is in constant motion due to convection currents—slow, swirling movement of hot rock deep below the surface. This drives plate movement, causing earthquakes and forming new land. ✨
#processes⚡#plate⚡#tectonics⚡#geology⚡#geography⚡#nature⚡#earth
👉subscribe Amazing Geography🌍