В фреймворке 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
🌎 Prairie dogs use a complex series of high-pitched calls to warn their colony about predators. These rodents can describe an intruder’s size, color, and speed in their alarm calls. Researchers have identified over 100 different warning sounds in a single colony. ✨
#animalbehavior⚡#communication⚡#rodents
👉subscribe Interesting Planet
👉more Channels
🌎 The tuco-tuco, a South American rodent, lives almost its entire life underground. It digs vast tunnel networks with specialized teeth, rarely surfacing except to gather food. Its burrowing helps aerate soil, making tuco-tucos quiet but essential ecosystem engineers. ✨
#rodents⚡#ecosystems⚡#burrowing
👉subscribe Interesting Planet
🐾 Capybaras are the world's largest rodents — social, semi-aquatic animals that live in groups in South America. They're so calm that other animals often sit on them, and they can even sleep underwater! 🌊
[Learn more]
@googlefactss#Capybara#AnimalFacts#Nature#Rodents#Wildlife