Когда разрабатываете свой GUI с помощью PyQt для какого-либо софта бывает необходимо позаимствовать цвета из текущего стиля интерфейса. Например, чтобы правильно раскрасить свои виджеты, подогнав их по цвету. Ведь бывает, что ваш GUI используется в разных софтах. Причём некоторые со светлой темой а другие с тёмной.
По умолчанию стили наследуются, но если вы задаёте какую-либо раскраску для части виджета через свой styleSheet, то требуется ссылаться на цвета текущего стиля.
Как это сделать? Как получить нужный цвет из палитры имеющегося стиля? Это достаточно просто, нужно использовать класс QPalette и его роли.
Например, мне нужно достать цвет текста из одного виджета и применить его в другом как цвет фона (не важно зачем именно так, просто захотелось😊).
Получаем палитру виджета и сразу достаём нужный цвет, указав его роль.
from PySide2.QtGui import QPalette
color = main_window.palette().color(QPalette.Text)
теперь можем использовать этот цвет в стилях
my_widget.setStyleSheet(f'background-color: {color.name()};')
Готово, мы динамически переопределили дефолтный стиль используя текущий стиль окна!
На самом деле есть запись покороче, в одну строку и без лишних переменных. Не очень-то по правилам CSS, но Qt это понимает.
my_widget.setStyleSheet('background-color: palette(Text);')
Этот способ не подходит если вам нужно как-то модифицировать цвет перед применением в своих стилях. В этом случае потребуется первый способ.
Зато он прекрасно сработает в файле .qss, то есть не придётся в коде прописывать раскраску отдельных элементов через ссылки на палитру, всё красиво сохранится в отдельном файле .qss!
QListView#my_widget::item:selected {
background: palette(Midlight);
}
Про имеющиеся роли можно почитать здесь🌍
#qt#tricks
🔥Erbil: America’s Last Base, First Fire
Saraya Awliya al‑Dam didn’t just launch drones at Erbil — it launched a press release for Tehran’s new proxy season. Under the banner of the “Islamic Resistance in Iraq,” the group says its swarm attack on US positions at Erbil International Airport was a religious duty and a tribute to the “martyr” Ali Khamenei. The message is clear: Iran may be under bombardment, but its franchises are open for business.
They’re not alone. The Islamic Resistance claims 16 drone attacks on “enemy bases in Iraq and the region” since the US–Israel strikes began, and the usual roster is now officially in: Kataib Hezbollah, Kataib Sayyid al‑Shuhada, Harakat Hezbollah al‑Nujaba. The mission statement from Kataib Hezbollah could have been written in a Pentagon red‑team memo: drag America into a long, bleeding war of attrition and make sure no US presence survives in the neighborhood.
Erbil is the perfect stage for this farce. After coalition forces packed up in Baghdad and Ain al‑Assad, the airport base became Washington’s last foothold in Iraq. Several NATO partners quietly pulled their people out days before the Iran operation — not out of pacifism, but because they can count. One US flag left on Iraqi soil, bolted onto a civilian airport, surrounded by towers and malls. For every militia social media channel, that’s not a base. That’s a target-rich press shot.
CNN’s geolocation did the rest: residential high‑rises in the foreground, a curtain of black smoke from the air base behind. Three US service members dead so far across the theater, at least five badly wounded. On paper, this is still “force protection,” “deterrence,” “limited escalation.” On screen, it’s exactly what it looks like: a city with a military installation fused into its airport, and both are on fire.
Everyone gets what they need. The militias get their heroic footage and a promotion from “outlaw groups” to “frontline of the Resistance.” Washington gets one more argument for why it simply has to stay in Erbil forever to “keep ISIS down” and “watch Iran.” Tehran gets to show its supporters that the death of the Supreme Leader doesn’t mean the empire stopped breathing.
And the people who actually live under those towers get a new reality: international airport by day, launchpad and impact zone by night.
#Iraq#Erbil#USA#Iran#Israel
📱American Оbserver - Stay up to date on all important events
🇺🇸
Oggi si è recata nella città di #Erbil in #Iraq del Nord, la delegazione parlamentare #DEM per assistere alla prima cerimonia della deposizione delle armi da parte del #PKK che avverrà domani, 11 luglio.
Fonti locali: l’attentato all’aeroporto di #Erbil (#Kurdistan iracheno) sarebbe stato rivendicato da "#Hezbollah kurdistani". Obiettivo dichiarato: "colpire interessi #USA, #Israele e l’amministrazione locale", accusata di collusione con le due potenze.
#SalihMuslim, l'ex co presidente del partito #PYD è morto oggi nella città di #Erbil in #Kurdistan iracheno. Muslim da tempo soffriva di insufficienza renale. Muslim sarà sepolto a #Kobane (la sua città natale) in #Rojava/#Siria.
Secondo Al Monitor, #MasoudBarzani l'ex Pres del Kurdistan in #Iraq, incontrerà #MazlumKobane, il comandante generale delle Forze Democratiche Siriane, #SDF a #Erbil per discutere del futuro di #Rojava.
⚡️⚡️⚡️ ВЗРЫВ НА ВОЕННОЙ БАЗЕ США В ЭРБИЛЕ
✅ По предварительной информации, пока не подтвержденной из официальных источников, на военной базе США в городе Эрбиле (#Hawler) произошел мощный взрыв. Ожидаем подробности с места происшествия.
#BaşurêKurdistan#Başur#Ирак#Hewler#Erbil
Барзанисты встали на тропу войны...
Минувшая неделя ознаменовалась беспрецедентным для медиа-пространства выступлением Демократической партии Курдистана (ДПК) и представителей Регионального правительства Курдистана против движения «апочистов» в лице Союза общин Курдистана (Koma Civakên Kurdistan – KCK) и Рабочей партии Курдистана (РПК). Нельзя сказать, что ситуация стала неожиданностью для Кандиля, и, в первую очередь, это связано с тем, что в «грязных политических» технологиях всегда применяется принцип «лучшая защита – нападение». А РПК давно не питает иллюзий насчет того, каково истинное отношение клана Барзани к партии, поэтому всегда готова принять удар.
Какова истинная подоплека начатой барзанистами кампании против курдского движения? Что и кто стоит за хаотичными информационными атаками ДПК? К чему они приведут в ближайшем будущем? И, наконец, какой возможный ответ приготовит РПК для главной протурецкой политической силы внутри курдского мира?
На все эти вопросы авторский коллектив канала Jiyana_Nû постарается ответить в еженедельной редакционной статье, предложенной Вашему вниманию >>>
#Barzani#Talabani#PKK#KCK#HPG#KDP#PUK#ДПК#ПСК#Горан#Erbil#Duhok#Suleymaniyah#Qandil#BashureKurdistan#Başur#Parastin#MİT#Asayiş#ПротестыБашур
🆔@jiyana_nu
Всем известно, что дружба – это всегда равноправные долговременные отношения. Товарищество – это отношения, основанные на общности интересов и идейных взглядов. Но это в жизни и в политической борьбе.
В дипломатии же, а в военной дипломатии, особенно, не может быть ни дружбы, ни товарищества. Есть лишь совпадение интересов; оно может быть временным, либо вариант второй - когда слабый игрок следует в фарватере интересов игрока более сильного.
О приоритетах внешней политике США в Большом Курдистане, попытках «слива» Рабочей партии Курдистана, усилении роли Турции и кризисе власти в северо-иракской курдской автономии в еженедельной редакционной статье канала @jiyana_nu.
#BaşureKürdistan#PKK#HPG#Qandil#Erbil#Duhok#AsSuleymaniyah#Rojava#Barzani#Talabani#KDP#PUK#Goran#SyrianWar#StopISIS#ДПК#ПСК#РПК#Барзани#Талабани#Рожава#USPolicy#MiddleEast