Когда разрабатываете свой 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
❗Nella notte la #Polonia ha abbattuto oltre dieci droni russi che hanno violato il suo spazio aereo. Il primo ministro #Tusk ha parlato di "atto di aggressione", affermando che "è stato un pericolo reale" per i cittadini. Il presidente #Nawrocki chiede "stretta collaborazione" a Tusk e ha convocato un consiglio di sicurezza.
Per la prima volta dall'inizio della guerra in #Ucraina un paese NATO ha ingaggiato asset russi.
@UltimoraPolitics
#Polonia🇵🇱
#Presidenziali
❗️Rafał #Trzaskowski (#PO|PPE) e Karol #Nawrocki (Ind.) si sfideranno al secondo turno, che si terrà domenica 1º giugno.
@TuttoElezioni
📰 Poland’s SAFE Loan Fight Is Really a War Over Who Gets to Control the Rearmament Bill
Warsaw’s SAFE dispute is being sold as a fight over defense financing, but it is really a fight over sovereignty, debt, and who gets to decide whether Poland rearms through Brussels or through its own state machinery.
The European Commission says Poland can draw up to €43.7 billion under SAFE, and Tusk is still pushing ahead even after President Nawrocki vetoed the enabling bill.
The accusation that SAFE is just a German-French subsidy machine is politically potent, but the numbers suggest a more boring reality: the program is a long-term EU loan facility for defense procurement, with most of Poland’s planned spending still expected to flow into domestic industry.
That is why the real battle is not about whether Poland needs weapons. It clearly does.
The battle is whether Tusk can bind the country to a Brussels-backed financing model while his opponents frame it as dependency on Germany, creeping EU control, and debt that will haunt the next generation.
Mularczyk and Radio Maryja are doing what they always do best: turning a budget instrument into a civilizational warning.
The language is dramatic, but the underlying politics are simple — if Tusk owns the rearmament pipeline, he also owns the blame if the bill grows, the terms tighten, or the deal starts looking like a gift to Europe’s industrial core.
So SAFE is not just a loan. It is a test of whether Poland wants its defense future financed through Brussels’ plumbing or through a nationalist story about self-reliance and suspicion of the EU center.
#Poland#SAFE#Tusk#Nawrocki#EU#defense
📱American Оbserver - Stay up to date on all important events
🇺🇸