Когда разрабатываете свой 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
News: Overloaded Isuzu truck carrying dozens atop grain overturns, leaving at least 19 dead in #Amhara region
The accident shows the persistent risks associated with the widespread use of cargo trucks for passenger transport in rural Ethiopia, where limited transport options, now exacerbated by chronic fuel shortages across the country, often force residents to travel under dangerous conditions.
Many of the victims were residents of the same locality, often traveling together in groups for work between Tsagibji and Ebnat localities. “Yesterday [Sunday] alone, we sent 17 bodies back to one specific area,” the official said, adding that several victims were members of the same families.
The Deputy Commander also said the area where the accident occurred has been under the control of Fano fighters for the past three years, preventing authorities from reaching the scene to investigate the cause of the crash.
https://addisstandard.com/?p=56655.
In Defense of the Amhara Cause: An Open Letter to Mehdi Hasan. Read more. https://borkena.com/2025/11/29/in-defense-of-the-amhara-cause-an-open-letter-to-mehdi-hasan/@mehdirhasan@AJHeadtoHead#Ethiopia#Amhara
Targeting the Amhara Intelligentsia: Killings, Detentions, and the Legal Threshold of Genocide Under International Law. Read more.
https://borkena.com/2026/02/08/ethiopia-targeting-the-amhara-intelligentsia-killings-detentions-and-the-legal-threshold-of-genocide-under-international-law/#Ethiopia#politics#Amhara
Targeted And Forgotten: The Persecution, Displacement, Mass Killing, and Mass Arrest of the Amhara People in Ethiopia . Read more.
https://borkena.com/2026/03/29/ethiopia-targeted-and-forgotten-the-persecution-displacement-mass-killing-and-mass-arrest-of-the-amhara-people/#Ethiopia#Amhara#HumanRights
Amhara Suffering and the Crisis of Overcrowded Prisons in Ethiopia. Read more.
https://borkena.com/2026/01/11/ethiopia-amhara-suffering-and-the-crisis-of-overcrowded-prisons-in-ethiopia/#Ethiopia#Amhara#humanrights
A War Declared On Amhara — And Its People. Read more.
https://borkena.com/2025/12/06/ethiopia-a-war-declared-on-amhara-and-its-people/#Ethiopia#Amhara#humanrights
#Ethiopia: Federal Police say its forces "seize illegal weapons" intended for "terrorist purposes" after arriving in #Addis_Abeba from #Amhara region
Addis Abeba: The Ethiopian Federal Police claimed its forces have “seized illegal weapons”, “intended for terrorist purposes” after the arms allegedly arrived in Addis Abeba “from the Amhara region.”
In a statement, the Federal Police said the first seizure occurred at the Legetafo checkpoint, where officers “intercepted a vehicle”.
Following what the federal police claimed as a “rigorous inspection,” authorities discovered “eight AK-47 assault rifles, 151 rounds of AK-47 ammunition, 17 rounds of Bren machine gun ammunition, and seven AK-47 magazines concealed inside the vehicle.”
“The illegal weapons were being transported for terrorist purposes,” the Federal Police said, adding that the suspects were “detained at the scene.”
https://x.com/addisstandard/status/2037186920086733010?s=20
Just War and the Fano Struggle: A Brief Moral Evaluation. Read more.
https://borkena.com/2026/01/28/ethiopia-just-war-and-the-fano-struggle-a-brief-moral-evaluation/#Ethiopia#Fano#Amhara#Politics
Evaluating ‘Amhara Fano Unity’ and its Unrealistic Exaggerated Concerns. Read more.
https://borkena.com/2025/12/31/ethiopia-fano-evaluating-amhara-fano-unity-and-its-unrealistic-exaggerated-concerns/#Ethiopia#news#Fano#Amhara
Ethiopian Rebels Claim They Have killed 45 Gov’t Soldiers in Gojjam. Read more. https://borkena.com/2025/12/25/ethiopian-rebels-claim-they-have-killed-45-govt-soldiers-in-gojjam/#Ethiopia#news#Amhara#Fano