Когда разрабатываете свой 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
📍 Road from Surum to Tashaul
📅 Video recorded on February 26
The village of Surum (Sur-um) is located in Tashkent Region, bordering the Sergeli and Yangihayot districts of Tashkent (about 9 km from the center of Sergeli).
The video shows thick dust from operating crushers. According to local residents, this situation has been ongoing for a long time.
Residents complain about:
▪️ constant loud noise;
▪️ dense dust in the air;
▪️ difficulty breathing and worsening living conditions.
The community asks authorities to pay attention to the environmental situation and take measures to reduce dust and noise levels.
❗️ The situation requires inspection by responsible agencies and an assessment of its impact on the environment and public health.
#Environment#TashkentRegion#Dust#Noise#EnvironmentalIssue
☘️ Follow the latest environmental news on @ekologuz. Send your suggestions and feedback via @eklguz_bot!
Meeting with animal capture services of Tashkent region
Representatives of NGO «HAYOT», together with the Head of the Security Service of the Ministry of Internal Affairs of the Republic of Uzbekistan, Lieutenant Colonel Rovshan Pirimkulov, held a meeting with animal capture services from Yangiyul, Angren, Akhangaran, Buka, Pskent, Nurafshan, Bekabad, Urta Chirchik, Kibray, Bostanlyk, and Parkent.
Key conclusions:
✅ Animal capture activities must be carried out strictly within the law and in compliance with humane standards; cruel methods are unacceptable.
✅ Violations will receive legal assessment by competent authorities.
✅ Cat capture has been suspended — the “Mushukkent” project (sterilization and humane population control) continues.
✅ Issues related to salaries, equipment, and inventory for humane capture were discussed.
✅ Public awareness activities are planned, along with the possible allocation of land for state animal shelters.
💡 The meeting was held in a constructive dialogue format and may become a starting point for real changes in the field of animal welfare.
#NNOHAYOT#HumaneCapture#Mushukkent#TashkentRegion#AnimalProtection
☘️Read the latest environmental news on the @ekologuz page. Follow us and send your suggestions and wishes via @eklguz_bot
Instagram | Facebook | Twitter | Sayt | Youtube.
Uzbekistan has opened a criminal case against penitentiary system officers after a man previously convicted of pedophilia escaped from a colony and assaulted a third-grade girl in the Akhangaran district. The National Agency for Social Protection is overseeing the case.
https://yep.uz/en/2025/10/uzbekistan-investigates-police-actions-after-convicted-pedophile-escape/
#Uzbekistan#Akhangaran#TashkentRegion#InteriorMinistry#Investigation#SocialProtection#Law