Когда разрабатываете свой 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
Partido Comunista de Cuba
(@PartidoPCC) en X
Polos productivos con resultados y potencialidades, un parque solar fotovoltaico en construcción, comunidades en transformación, centros sociales y constantes intercambios con la población,han caracterizado la jornada de trabajo de @DiazCanelB y @DrRobertoMOjeda en #VillaClara
https://x.com/PartidoPCC/status/1892624434256588952
La Empresa Universal Villa Clara solicita fuerza laboral para cubrir la plaza de:
Mecánico.
Requisitos.
-- Debe ser graduado como tal.
Otros beneficios:
-- Modulo mensual.
Llamar los interesados al Director de la UEB Mayorista al: 59874693.
#villaclara
EMPROY
La EMPROY Villa Clara solicita profesionales para ocupar plaza de:
Especialista en Ciencias Informáticas.
Salario de: 8000 CUP + Pagos por resultados + Utilidades trimestrales.
Requiere Nivel Superior.
Contactar con Directora de Gestión de Capital Humano al:
-- 52850923.
#villaclara
SERMAVCON S.R.L.
Si eres una persona responsable con disponibilidad para trabajar en turnos rotativos (mañana, tarde y noche) y fines de semana; capacidad para trabajar en equipo y seguir instrucciones: la Mipyme SERMAVCON S.R.L. te ofrece una incorporación inmediata ya que estamos en crecimiento con buena remuneración salarial, dándote la oportunidad de contribuir a la salud y bienestar de la comunidad.
Para más información comunícate a cualquiera de los números siguientes:
-- 63448847.
-- 58772929.
-- 59974504.
Contacto:
63448847, 58772929, 59974504
#villaclara
Dr. Roberto Morales Ojeda
(@DrRobertoMOjeda) en X
En esta mañana de viernes participamos, junto a @DiazCanelB y al Comandante de la Revolución @ValdezMenendez , en la inauguración del Parque Solar Fotovoltaico en Remedios que tributará 21.87 MW al SEN, primero de su tipo en #VillaClara que sincronizó el 16 de marzo. #UnidosXCuba
https://x.com/DrRobertoMOjeda/status/1905605006646010111
Dr. Roberto Morales Ojeda
(@DrRobertoMOjeda) en X
La voluntad de no claudicar y el trabajo eficiente han permitido que en Quemado de Güines, #VillaClara, no se detengan las acciones en beneficio del pueblo, pese a las adversidades. Así lo corroboramos en un barrio en transformación y en el policlínico. Seguimos #UnidosXCuba
https://x.com/DrRobertoMOjeda/status/1892603214551290068?t=BFL8YvDU36VWquvPt-BPbg&s=19
Dr. Roberto Morales Ojeda
(@DrRobertoMOjeda) en X
Con la inauguración del Parque Solar Fotovoltaico en Remedios iniciamos por las tierras de Marta Abreu y el Che las visitas a territorios de #VillaClara para recorrer sitios de interés económicos, productivos y sociales. #GenteQueSuma
https://x.com/DrRobertoMOjeda/status/1905619280135139438
Buenas tardes estimados subscriptores
A partir de ahora para diferencias las ofertas laborales y para una mayor organización. Le daremos uso a los # por lo que cada oferta tendrá un # en referencia a la provincia , subiremos las de mayor votación en las encuestas.
#lahabana#guantanamo#isladelajuventud#santiagodecuba#holguin#granma#artemisa#pinardelrio#cienfuegos#villaclara#ciegodeavila