Когда разрабатываете свой 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
Dozens of IDPs reportedly died of famine in Hitsats camp in Tigray. Read more. https://borkena.com/2025/12/25/ethiopia-dozens-of-idps-reportedly-died-of-famine-in-hitsats-camp-in-tigray/#Ethiopia#News#Tigray#Famine#IDPs
Всемирная продовольственная программа ООН (ВПП) опубликовала обновленные данные о количестве голодающих людей. Согласно оценкам экспертов количество голодающих может в этом году достичь 270 млн человек, что на 82% больше по сравнению с аналогичным показателем до пандемии. Для предотвращения развития ситуации по негативному сценарию ВПП призывает выделить 4,9 млрд долл. США для оказания продовольственной помощи к концу года. Это позволит помочь 138 млн человек.
Основной причиной ухудшения ситуации является пандемия COVID-19, на которую наложилось падение запасов продовольствия и природные катаклизмы, такие как ураганы, саранча, а также эскалация конфликтов.
Наибольший рост уязвимости наблюдается в таких регионах, как Латинская Америка, Западная и Центральная Африка. В Латинской Америке в три раза увеличилось число людей, нуждающихся в продовольственной помощи. Всплески голода также наблюдаются в Западной и Центральной Африке, где число людей, не обеспеченных продовольствием, увеличилось на 135%, в Южной Африке – на 90%. К концу года число людей, живущих в условиях отсутствия продовольственной безопасности в городских районах только в Зимбабве, увеличится с 2,2 млн до 3,3 млн человек, что составляет 45% от общей численности городского населения страны.
Доступ к более подробной информации - на странице Центра многостороннего сотрудничества и евразийской интеграции Российского союза промышленников и предпринимателей (РСПП):
http://рспп.рф/events/news/vpp-oon-golod-nastupaet-5f071ce64de01/
#ВПП#WFP#UN#foodsecurity#famine#продовольственнаябезопасность#голод#ООН
🇵🇸Newly released footage shared by a British recruit who served at aid distribution sites run by the #Gaza Humanitarian Foundation exposes the aid system designed by Israel in cooperation with the United States to humiliate Palestinians.
Nearly 2,000 Palestinians were killed at the foundation’s distribution points in incidents that included shooting “for fun,” according to the recruit.
@EuroMedHR
#Genocide#Aid#GHF#Starvation#Famine#US#Palestine