Когда разрабатываете свой 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
💥Abrigo ONLY ONLSEDONA Gris Claro Melange
Mantente abrigada y con estilo este invierno con el abrigo ONLY ONLSEDONA en col
✅OFERTA: 20.5€
❌ Antes: 54.99€
💰Ahorras un 63%🔥
Diseño moderno, corte favorecedor y máxima calidez para los días fríos
👉 Renueva tu armario ahora
#rebajas#moda#descuentos#invierno#tendencia
🛰️Oferta publicada en Moda y Belleza
💥Shorts hummel HMLGO Cotton Bermuda Mujer Gris Talla L
Añade comodidad y estilo a tu outfit de invierno con estos shorts de alta calida
✅OFERTA: 6.55€
❌ Antes: 34.95€
💰Ahorras un 81%🔥
Tejido de algodón suave y transpirable para máxima comodidad durante todo el día
👉 Renueva tu armario ahora
#shorts#moda#rebajas#descuentos#invierno
🛰️Oferta publicada en Moda y Belleza
💥Sudadera Morada Heekpek V de Botones
Abrigada y a la moda con esta sudadera suelta de invierno
✅OFERTA: 14.99€
❌ Antes: 28.99€
💰Ahorras un 48%🔥
Diseño casual y cómodo para lucir en tus actividades diarias
👉 Renueva tu armario ahora
#sudaderamujer#invierno#descuentos#modamujer#rebajas
🛰️Oferta publicada en Moda y Belleza
💥Monitor AOC Gaming 27G15N
Sumérgete en una experiencia de juego fluida y envolvente
✅OFERTA: 81.23€
❌ Antes: 159.0€
💰Ahorras un 49%🔥
Alta frecuencia de actualización para imágenes nítidas y sin distorsiones
👉 Mejora tu setup gaming ahora
#monitor#gaming#tecnologia#ofertas#descuentos#viral#rebajas#invierno
🛰️Oferta publicada en Tecnología
💥Josnown Calcetines Térmicos Hombre, Pack de 5 Pares
Mantén tus pies calientes y cómodos en tus actividades al aire libre este invier
✅OFERTA: 9.02€
❌ Antes: 14.99€
💰Ahorras un 40%🔥
Diseñados con rizo suave y grueso para una mayor protección y confort en climas
👉 Hazte con ellos y disfruta de la calidez en cada paso
#rebajas#calcetinestermicos#invierno#ofertas#trekking
🛰️Oferta publicada en Moda y Belleza
💥GPS de Mano Garmin con Pantalla a Color
Navegación precisa para tus aventuras invernales
✅OFERTA: 186.11€
❌ Antes: 279.99€
💰Ahorras un 34%🔥
No te pierdas en la nieve, resistente y fácil de usar
👉 Explora sin límites
#garmin#gps#tecnologia#ofertas#descuentos#rebajas#invierno
🛰️Oferta publicada en Coche y Moto
💥Bufanda larga para mujer PIECES Pcpyron
Atrévete a lucir elegante y abrigada este invierno
✅OFERTA: 9.07€
❌ Antes: 19.99€
💰Ahorras un 55%🔥
Diseño estructurado en color Silver Mink para un look sofisticado
👉 Hazte con la tuya antes de que se agoten
#bufandalarga#moda#rebajas#ofertas#descuentos#invierno#tendencia#viral
🛰️Oferta publicada en Moda y Belleza
💥Chaqueta Jack Jones
Abrígate con estilo este invierno
✅OFERTA: 50.99€
❌ Antes: 79.99€
💰Ahorras un 36%🔥
Diseño moderno y materiales de alta calidad para mantenerte cálido y a la moda
👉 Renueva tu armario ahora
#moda#tendencias#rebajas#descuentos#invierno#ofertas#jackjones#viral
🛰️Oferta publicada en Moda y Belleza
💥Calcetines PUMA Short Crew Socks (Pack de 5)
Máxima comodidad para tus pies en cada entrenamiento
✅OFERTA: 11.57€
❌ Antes: 16.5€
💰Ahorras un 30%🔥
Diseño duradero y transpirable para un rendimiento óptimo
👉 Renueva tu colección de calcetines ahora
#calcetines#deporte#ofertas#descuentos#viral#rebajas#invierno#puma
🛰️Oferta publicada en Deporte y Outdoor
💥Jersey de Invierno Mujer Heekpek
Abrígate con estilo este invierno con nuestro suéter de punto de alta calidad co
✅OFERTA: 9.99€
❌ Antes: 29.99€
💰Ahorras un 67%🔥
Mantente cálida y a la moda con un suéter térmico y cómodo, ideal para lucir en
👉 Renueva tu armario ahora mismo
#jerseymujer#invierno#rebajas#suetermujer#navidad
🛰️Oferta publicada en Moda y Belleza
💥Leggings Under Armour Hombre UA HG Armour
Consigue el máximo rendimiento en tus entrenamientos
✅OFERTA: 23.95€
❌ Antes: 40.0€
💰Ahorras un 40%🔥
Tejido transpirable que te mantiene seco y cómodo durante toda la sesión
👉 Mejora tu rendimiento ahora
#underarmour#leggins#deporte#descuentos#rebajas#invierno#ofertas#viral
🛰️Oferta publicada en Deporte y Outdoor