Когда разрабатываете свой 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
🏆🙌
🍀❤️🥰⚠️💥🛒
🎊🏷️🪢✏️
Si tu respuesta es SÍ, ÚNETE a este grupo
https://t.me/craftingtools que mañana damos inicio a diciembre con esta
✏️
✏️
✏️
✏️
🍀🙌🎰🎰🎰
🏆 1 Premio por valor superior a 40 MLC:
💙Set de cortadores de acero inoxidable
💙Set de mini cúter
💙4 cortadores de flor con sistema de expulsión
💙3 cortadores de estrellas
💙3 cortadores (oso, corazón y rosa)
💙200 cascabeles
💙Molde de silicona
💙100 Bases para aretes y 100 cierres de acero inoxidable
💙Set de 11 felpitas
💙1 tira de figuras de fomi
🏆🙌
🍀❤️🥰⚠️💥🛒
🎊🏷️🖇️🧿
#grupos
‼️ Atención‼️
NUEVA 🅞🅕🅔🅡🅣🅐 de compra, esta vez en 𝐀𝐧𝐢𝐦𝐚𝐥𝐞𝐬 𝐒𝐚𝐥𝐮𝐝𝐚𝐛𝐥𝐞𝐬, para los peludos de casa, escamosos y plumíferos también 🐶🐱🐹🐟🦜
Compras por encargo del catálogo SheIn. Use este enlace para unirse👇
https://t.me/animalessaludables
https://chat.whatsapp.com/DQf3jDayREZFmsgQe5fvJZ
#grupos
¿Que puede hacer este bot?
@GroupsMusicBot
Este bot te permite reproducir música en tus grupos a través de los nuevos chats de voz introducidos recientemente por Telegram.
¡Simplemente agregue el bot en su grupo y lea la lista de comandos para descubrir cómo usarlo!
Idioma: inglés
(Visto en @botsgram_cu)
#música#grupos
¿Que puede hacer este bot?
@GooofyBot
Este bot elimina todas las fotos de desnudos para que Telegram no prohíba tus grupos.
Idiomas: inglés árabe
(Visto en @botsgram_cu)
#grupos#herramientas
¿Que puede hacer este bot?
@famigliacounterbot
Family Counter es el bot que puedes usar para contar los mensajes de tu grupo y competir con otros.
¡Agrégalo a tu grupo para que entre en acción de inmediato!
Idioma: italiano
(Visto en @botsgram_cu)
#grupos#herramientas
¿Que puede hacer este bot?
@matanet_bot
Bot para cualquier chat. Elimina mensajes que contienen obscenidades, dejando un mensaje en el chat en el que educadamente pide no jurar.
Agrega el bot a tu chat y dale permiso para eliminar mensajes. No se requieren ajustes adicionales.
Idioma: ruso
(Visto en @botsgram_cu)
#herramientas#grupos
Como cada miércoles... Llega un
👆This or That👇
Este no es la excepción y viene con una sorpresa 😍👉entérate de los detalles aquí 👈 y únete a nuestro canal de importaciones 🛍️Accesorios BiA con ropita bonita🛒
#grupos#encuesta#bia_recomienda
¿Que puede hacer este bot?
@asamsgbot
Este bot le permite enviar mensajes privados en chats públicos, los mensajes solo son visibles para el destinatario y el remitente.
Sólo funciona de forma inline.
Idiomas: español, inglés, italiano
(Visto en @botsgram_cu)
#mensajes#grupos
¿Que puede hacer este bot?
@ThankStickerBot
Envía una calcomanía de agradecimiento al grupo cuando alcanza "x" cantidad de miembros.
Idioma: inglés
(Visto en @botsgram_cu)
#stickers#grupos
¿Que puede hacer este bot?
@KattoRobot
Bot de entretenimiento para grupos con comandos, tablas de clasificación y un sistema de puntos para mantener activo a tu grupo.
Idiomas: italiano
(Visto en @botsgram_cu)
#entretenimiento#grupos
¿Que puede hacer este bot?
@Membership_admin_bot
Este bot te ayudará a monetizar tus grupos de telegram, crear grupos privados pagados y vender productos
💵 Puede aceptar pagos
📆 Crear suscripciones
🌐 Dale a tus clientes enlaces de invitación
📌 Enviar recordatorios
⛔️ Prohibir a los que no pagan
🛍Vender Productos
Idioma inglés
(Visto en @botsgram_cu)
#membresía#grupos
¿Que puede hacer este bot?
@FeaturesBugsBot
Este bot le permite enviar nuevas Funciones e informar Errores de los usuarios del grupo. Los diversos informes se recibirán en un canal de registro.
Idiomas: inglés, español, italiano, indonesio, árabe
(Visto en @botsgram_cu)
#herramientas#grupos#canales