В фреймворке 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
Christian Escoude & Francis Lockwood — Gypsy Swing (Encore Merci, 2015)
#gypsy#jazz#manouche#France
Цыганский джаз, исполненный в акустическом стиле с использованием аккордеона, скрипки, пианино, гитары и контрабаса. Авторство принадлежит двум мастерам, джаз-мануш гитаристу Кристиану Эскуде и джазовому клавишнику Фрэнсису Локвуду.
Spotify | AppleMusic
Mandino & Note Manouche — Gypsy Swing From Alsace (Materiali Sonori, 1994)
#gypsy#jazz#manouche#Alsace#France
Мандино Рейнхардт и компания исполняют эльзасский джаз-мануш. Эльзас — историческая область на востоке современной Франции, которая граничит с Германией и Швейцарией. В Эльзасе до какого-то времени был распространен эльзасский диалекте немецкого языка. Там же очень развито направление цыганского джаза. Есть даже большое интервью с Мандино Рейнхардтом для журнала Jazz & Culture об этом направлении в Эльзасе.
🔗Spotify | AppleMusic