В фреймворке 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
Keeping #OurHawkerCentres clean and safe is a shared responsibility!
When we #ClearOurTables, #ReturnOurTrays and #BinUsedTissues after our meals, it scores a hat-trick of kindness, making it a more pleasant dining experience for everyone!
#DidYouKnow that East Coast Lagoon Food Village was built on reclaimed land? Opened in 1978, it complements the beach-front activities of Singapore’s largest seaside resort.
After enjoying the delicious hawker food while enjoying the sea breeze, let’s remember to return our used trays and crockery. We all have a part to play in ensuring a clean and safe dining experience at #OurHawkerCentres. #ClearOurTables#ReturnOurTrays#BinUsedTissues
P.S. You don’t have to wipe the tables, as cleaners will do so. More information and #FAQs here: www.nea.gov.sg/clean-tables