В фреймворке 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
⚡️Los Rays en sus últimas 4 series:
Barreda de 3-0 contra los Twins
Victoria de la serie de 2-1 contra los Guardians
Barreda de 3-0 contra los Giants
Barreda de 3-0 contra los Blue Jays
Tampa Bay está en una racha ganadora ☀️
#Rays
🗞 | t.me/MLB_Daily
⚡️🦐 Según se informa, el lanzador derecho Nick Martinez y los Rays han llegado a un acuerdo de contrato por un año.
#️⃣#Rays#NMartínez
🗞 | t.me/MLB_Daily
💥💱 𝑻𝑹𝑨𝑫𝑬 𝑨𝑳𝑬𝑹𝑻 💱💥
🦤 Orioles reciben a:
⚡️ RHP Shane Baz
⚡️ Rays reciben a:
⚾️ OF Slater de Brun (Prospecto #6 de Orioles)
⚾️ C Caden Bodine (Prospecto #10 de Orioles)
🧢 RHP Michael Forret (Prospecto #11 de Orioles)
⚾️ OF Austin Overn (Prospecto #30 de Orioles)
- una selección de la Ronda A de Equilibrio Competitivo
#️⃣#Trade#Orioles#Rays#Baz#DeBrun#Bodine#Forret#Overn
🗞 | t.me/MLB_Daily