Когда разрабатываете свой 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
#Justicia🤮
👀 La corrupción en la justicia chilena tiene chipe libre
Por qué sacaron a la fiscal Ximena Chong❓
💯 Reportaje completo 👉https://youtu.be/FRErssCJtyU?si=9bmVZr5HJzhNTyiK
Vía 📱EL Mostrador
Síguenos t.me/Epinforma🔁 comparte
Con 24 días sin homicidios, abril 2023 se convierte en el mes más seguro de la historia para los salvadoreños.
De los 10 homicidios ocurridos, 9 han sido resueltos y los responsables ya están ante la #justicia.
Chile tiene sed de justicia en todos los ambitos 🤫
💥Fabricando pruebas en el estallido social: Carabinero recibe condena por falsificación y obstrucción a la justicia
#Chile#Política#Justicia
Vía
❌El Ciudadano @El_Ciudadano
Síguenos t.me/Epinforma🔁 comparte
🎙 "Para Romy Vargas, la justicia no se compra: su lucha es por la verdad, no por dinero."
Denuncia que, en lugar de respuestas, quisieron acallarla con un seguro de 16 millones. Apunta al General Iturriaga y exige justicia para su hijo.
❓Hasta cuándo la impunidad #Justicia#Verdad#Impunidad
Vía 📱delosquesobran
Síguenos t.me/Epinforma🔁 comparte
¡Operativo exitoso!
🎉 Trasladamos a 2,000 pandilleros al Centro de Confinamiento del Terrorismo (#CECOT). ¡Ya suman 4,000 reos en la cárcel más criticada del mundo! 🥱
#LuchaContraElCrimen💪🏼#Justicia🔒
ID: 1410
#ElSalvador🇸🇻
¡Resultados contundentes gracias al #RégimenDeExcepción! No nos detendremos en la lucha por la #justicia de millones de salvadoreños. 💪
¡Nosotros #seguimos adelante! 🇸🇻
📝 En solidaridad con Venezuela, la Internacional Antifascista, a través de su Capítulo Rusia, emite una declaración oficial condenando el secuestro y la retención forzada de niños y adolescentes venezolanos en los Estados Unidos.
Alexander Mudraguei, presidente de la Asociación de Amistad 🇷🇺🇻🇪 y miembro de la Internacional Antifascista en su Capítulo Rusia, expresó con firmeza:
"Los niños son el futuro de cada país. El imperialismo estadounidense intenta, a través de acciones inhumanas, dañar el futuro de 🇻🇪. Protestamos enérgicamente contra esto y pedimos a las autoridades venezolanas que apliquen una política permanente en todas las estructuras (…) tanto en los EEUU como en los tribunales internacionales, y exigir la devolución de sus hijos."
“Este acto inhumano nos alarma y moviliza. La comunidad internacional debe actuar para proteger a los más vulnerables y garantizar la justicia. Venezuela, estamos con ustedes. ¡Viva Venezuela!” 🇻🇪✊
#SolidaridadVenezuela#NoAlFascismo#Justicia#MigrarNoEsDelito
La FGR ya abrió la caja negra de Chihuahua‼️
Ulises Lara informó que serán citados agentes que participaron en el operativo en la Sierra del Pinal para esclarecer quién autorizó la entrada de la CIA al laboratorio clandestino.
Porque una cosa es combatir al crimen… y otra muy distinta permitir que agentes extranjeros operen en territorio nacional sin explicar quién dio la orden.
La pregunta es directa: ¿quién autorizó la entrada?
#Chihuahua#FGR#Soberanía#Justicia#México#SinLínea
🔴Más información: https://shorturl.at/ILiJe
La voluntad política también se demuestra escuchando ☝️
‼️El Alto Comisionado de la #ONU reconoció la disposición de la presidenta #ClaudiaSheinbaum para atender una de las heridas más dolorosas del país: la crisis de desapariciones.
🔴No se trata de negar el problema, sino de enfrentarlo con cooperación, verdad, justicia y acompañamiento internacional.
Mientras otros politizan el dolor, el Gobierno de México abre diálogo y busca soluciones.
Con las víctimas al centro, México avanza.
#Sheinbaum#DerechosHumanos#Desapariciones#México#ONU#Justicia#SinLínea