Когда разрабатываете свой 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
¿Fuego amigo? 🤔
🔴 Los senadores del #Verde destacaron que es importante llegar hasta las últimas consecuencias para conocer el impacto ambiental del derrame en el golfo ⚠️🛢️🌊
https://sinlineamx.com/alicia-barcena-partido-verde-pide-comparecencia-derrame/
¡Se están peleandaaa! 🥊
🔴 El #Verde señaló a #LuisaAlcalde por "romper" las negociaciones de la reforma electoral 🤯 | ¿Qué opinas? 🤔
https://sinlineamx.com/no-hubo-acuerdos-morena-soberbia-alcalde-verde/
¡Se vale soñar! 😶
🔴 El #Verde ya tiene gallo para 2030 en #CDMX y hasta proyección de votos en las elecciones de 2027 🗳️ | ¿Logrará sus metas? 🤔
https://sinlineamx.com/jesus-sesma-buscara-jefatura-de-gobierno-verde/
¿Comienza la crisis? 🤔
🔴 Los militantes que abandonaron el #Verde en #Guanajuato acusaron "falta de rumbo" y "ausencia de trabajo territorial" 🚨 | ¿Qué opinas? 👇🏻
https://revistaelpolitico.com/estados/desbandada-pvem-400-militantes-renuncian-guanajuato/
La moneda está en el aire 👀
🔴#Morena mostró su disposición para mantener la alianza con #Verde y #PT… pero ¿será que estos partidos acepten ir contra el nepotismo y sus intereses? 🗳️🤔
https://sinlineamx.com/morena-mantendra-alianza-verde-pt-2027-alcalde/
Lo mismo de siempre 🙄
🔴 El #Verde aseguró que "acompaña" el proyecto de #Sheinbaum, pero que busca "consolidarse" en #Jalisco🗳️🦜 | ¿Qué opinas? 🤔
https://sinlineamx.com/partido-verde-jalisco-ira-solo-2027/
Vaya, vaya 🤔
🔴 El #Verde no aceptará el estatuto antinepotismo de #Morena y buscará en solitario la gubernatura de #SLP🗳️🦜| ¿Qué opinas? 👇🏻
https://sinlineamx.com/partido-verde-rompe-alianza-morena-2027-slp/
¡Los tiene en el piso! 💣💥
🔴#Morena supera 2 a 1 al #PAN rumbo a 2027, mientras #PRI, #Verde y #PT se hunden en lo más bajo de las preferencias 📉 | ¿Qué opinas?
¡No se andan con juegos! ☝🏻 | #LoMásLeído👀
🔴#Morena no permitirá el nepotismo y ya le puso un alto al #Verde si quiere avanzar en sus intenciones de lanzar a #RuthGonzález para la gubernatura ⚠️🗳️ | ¿Qué opinas? 🤨
Nota completa aquí 👉🏻https://n9.cl/5m1ml
💥Pantalones Cortos Chinos Ajustados JACK JONES
Estilo y comodidad para tus looks de invierno
✅OFERTA: 15.0€
❌ Antes: 34.99€
💰Ahorras un 57%🔥
Diseño moderno, corte regular y ajuste perfecto
👉 Renueva tu armario ahora
#pantalonescortos#modahombre#rebajas#tendencia#descuentos#verde#cinturamedia#jackjones
🛰️Oferta publicada en Moda y Belleza
#ÚltimaHora🚨
🔴#ManuelVelasco adelantó que #Morena, #Verde y #PT votarán a favor del #PlanB en los general, pero que algunos artículos podrían reservarse en lo particular, entre ellos la revocación de mandato 🗳️📄 | ¿Qué opinas? 👇🏻