В фреймворке 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
🚩 Red flag alert 🚩 Don’t toss drink cans and bottles into the recycling bin without rinsing them first! Remember to empty, rinse and dry them to keep our recyclables free of contaminants. Let's keep our environment clean by recycling right! #RecycleRight#GoGreen
📣 Eco Club JMCU — tabiat uchun birlashgan yangi oila! Har bir uchrashuv — yashil kelajak sari qo‘yilgan bir qadam.🌿
💬💬💬
📣 Eco Club JMCU — a new family united for nature! Each meeting is a step toward a greener future.🌿
💬💬💬
📣 Eco Club JMCU — новая семья, объединённая ради природы! Каждая встреча — шаг к зелёному будущему.🌿
#EcoClubJMCU#GreenFamily#SustainableFuture#GoGreen#EcoLife#NatureMatters
🕊Telegram |📱Instagram
🌱 Join our Eco Committee!
Want to make a real difference for the environment? 🌍💚
If you're interested in being part of our project, come to our Thursday school eco volunteering meeting! Let’s work together for a greener future 🌿✨
#EcoCommittee#EcoClub#GoGreen#Sustainability#SaveThePlanet#EcoFriendly#SchoolLife#Volunteer#ClimateAction#GreenFuture#EnvironmentalAwareness#ActNow#StudentsForChange#MakeADifference#EcoWarriors