В фреймворке 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
Dr. Roberto Morales Ojeda
(DrRobertoMOjeda) en X
El pueblo venezolano ha hablado: ¡Victoria contundente del @PartidoPSUV y el Gran Polo Patriótico en las elecciones legislativas y regionales! La Revolución Bolivariana consolida la paz y la soberanía. ¡Viva la Patria de #Bolívar!
https://x.com/DrRobertoMOjeda/status/1927359790981775711
Embajador Sergey Mélik-Bagdasárov:
🇷🇺🇻🇪 Enorme orgullo estar presente en el evento solemne de la reapertura de la Casa Natal Simón #Bolívar!
🙏Una oportunidad única para sumergirse en la historia de una de las personalidades clave para la historia independentista de la #AmericaLatina
🌏 En el Instituto Geográfico de #Venezuela Simón #Bolívar se celebró una conferencia “Rusia-Venezuela. Nuevas oportunidades de cooperación en materia de geología” con los especialistas de la Universidad Estatal de Geología y Exploración de #Rusia.
Embajador Sergey Mélik-Bagdasárov: 💬🇷🇺🤝🇻🇪Agradecemos IGVSB por compartir con nosotros la jornada llena de descubrimientos en el campo de #geología junto con unos de los mejores profesores rusos en su área