В фреймворке 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
🏥Andijonda birinchi musbat natija
Ankalife klinikasida EKU amaliyoti amalga oshirgan birinchi ayollimizda musbat natija
Mustahkamidan bergan bo'lsin
10 kun oldin 3ta embrionni ko'chirib o'tkazgan edik, 8-yil farzandga zor bo'lib yashagan go'zal juftligimiz, ilohim ohirigacha hursand qilsin!
#ekoandijonnatija#ekouzbekistan#positivetestresults
8️⃣ 𝘆𝗶𝗹 𝗶𝗻𝘁𝗶𝘇𝗼𝗿𝗹𝗶𝗸 𝗯𝗶𝗹𝗮𝗻 𝗸𝘂𝘁𝗶𝗹𝗴𝗮𝗻 𝗵𝗼𝗺𝗶𝗹𝗮
Go'zal ayolimizni hursandchiligini so'z bilan tariflay olmaymiz
⠀
Sog' salomat Kichkintoylarini bag'rlariga bosib olishlari uchun duo qilamiz, va kichkintoy tug'ilguniga qadar bizning tekshiruvimizda bo'ladi, qo'limizdan kelgan barcha yordamni ayamaymiz
⠀
Barcha oilalar, ayollamizga shunday baxtli kunlar nasib etsin!
⠀
#ekoandijon#ekouzbekistan#eku#экоузбекистан