Когда разрабатываете свой 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
🛍️ Акции и специальные предложения в ТРЦ "Выходной"!
👗 MILANA: стильная подборка и скидки до -70%! 👗
MILANA подготовила для вас топовые новинки! Современные модели, трендовый дизайн и безупречное качество — всё, чтобы ваш образ был на высоте. И это ещё не всё! Скидки до -70%! Не упустите возможность обновить гардероб по выгодным ценам!
💄 ТОЧКА КРАСОТЫ: невероятные скидки! 💄
20% скидка на первое посещение!
15% скидка в честь вашего дня рождения!
Не упустите шанс побаловать себя и своих близких!
Приходите в ТРЦ "Выходной" и получите максимум удовольствия от шопинга!
📍 ТРЦ "Выходной"
⏰ Часы работы: 10:00 - 22:00
#ТРЦВыходной#MILANA#Скидки#Красота#Мода#Шопинг
Новая коллекция сумочек в MILANA ✨
Также сейчас у бренда проходит распродажа, где цены на обувь, сумки и аксессуары снижены до 70%! Обнови свой гардероб по выгодным ценам.
#трцвыходной#люберцы#trcvykhodnoy#выходной#новая_коллекция#скидки#Milana#сумки
Друзья!
В честь праздника 23 Февраля магазин MILANA проводит розыгрыш 5 подарочных сертификатов на сумму 1500 рублей каждый!
Где будет проходить розыгрыш?
В телеграм-канале ТРЦ "Выходной"!
Как принять участие?
1. Подпишись на ТРЦ "Выходной" и MILANA.
2. Отметь друга, для которого хочешь сделать подарок.
Когда?
28 февраля в пятницу, в 15:00, мы определим 5 счастливчиков с помощью рандомайзера!
Не упусти шанс порадовать себя и своих близких стильной обувью и сумками от MILANA!
Реклама. ООО "ТЦ КВАРТАЛ", ИНН 5027326760, ERID 2Vtzqw9WDwK
#MILANA#Розыгрыш#23Февраля#Обувь#Сумки#Подарок#Выходной
Участников: 25
Призовых мест: 5
Дата розыгрыша: 15:00, 28.02.2025 MSK (завершён)
Победители розыгрыша:
1. Светлана - 2gfgdm
2. Yana - 2gffph
3. Дарья Гришина - 2gq1e2
4. Retrograde Mercury - 2ipe6o
5. Юлия 🎉 - 2gj6ue
Готовимся к самому нежному и трогательному празднику вместе с MILANA💐!
Как стать участницей?
🎀Подпишись на наши каналы в Телеграм ТРЦ "Выходной" и MILANA
🎀 Отметь свою подругу, для которой хочешь сделать подарок, пригласи участников в розыгрыш и получи дополнительный шанс выиграть
Когда?
08 марта в субботу в 11:00 мы выберем 5 победительниц с помощью рандомайзера! 💖
Не упусти шанс порадовать себя стильной обувью и сумками от MILANA!
Реклама. ООО "ТЦ КВАРТАЛ", ИНН 5027326760, ERID 2Vtzqw5X7Av
#MILANA#8Марта#Выходные#Шопинг#Подарки#Сюрприз
Участников: 44
Призовых мест: 5
Дата розыгрыша: 11:00, 08.03.2025 MSK (завершён)
Победители розыгрыша:
1. Retrograde Mercury - 2jnhr5
2. Татьяна - 2kp819
3. Natiriss🐋 - 2jnash
4. Cos_mos - 2jo57h
5. Татьяна Кириллова - 2k6ter
В MILANA вы найдёте обувь для любого образа – классические ботинки, элегантные туфли или трендовые ботильоны.
Выходной | 1 этаж
#трцвыходной#люберцы#trcvykhodnoy#выходной#новая_коллекция#скидки#Milana#осенняя_коллекция
КЛИЕНТСКИЕ ДНИ В MILANA
📅 29 и 30 марта 2025 года бренд MILANA приглашает вас на Клиентскиие дни в ТРК "Выходной"
✨ Что ждет гостей?
· Шампанское и угощения для создания праздничной атмосферы
· Эксклюзивные подарки за покупки
· Консультации стилистов - поможем создать идеальный образ
· Специальные предложения только для участников мероприятия
👠 Почему стоит посетить?
· Первый взгляд на новую коллекцию весна-лето 2025
· Возможность приобрести любимые модели по специальным условиям
· Профессиональные советы от экспертов моды
📍 MILANA, этаж 1
📌 Даты: 29-30 марта 2025 года
#Milana#КлиентскиеДни#ВеснаЛето2025#Скидка15#ПромокодCD15
💐 Ждем вас за новыми впечатлениями и отличными покупками! 💐
Лето и белая обувь - это ван лав!
Стилист MILANA делится лайфхаками, как сохранить белое белым и не стереть при этом руки до мозолей 😅
#трцвыходной#люберцы#trcvykhodnoy#выходной#белаяобувь#Milana#Милана#лайфхак#lifehack
☀️Ещё два дня лета!
Успей поймать жаркие скидки в ТРК "ПроВыходной"🛍
🔘MILANA: -70% + ДОП -20% на лето
🔘ДОМАРКЕТ: -30% на ВСЁ
🔘ZENDEN: до -50% на новинки
🔘SOKOLOV: цены ПО ПОЛАМ (-50%)
🔘KARI: -50% на 2-й аксессуар
🔘GIPFEL: -25% всё для напитков
Не упусти последний шанс стильно проводить лето😎
#ПроВыходной#Скидки#ЛетниеРаспродажи#Шопинг#ПоследнийДеньЛета#Распродажа#MILANA#ДОМАРКЕТ#ZENDEN#SOKOLOV#KARI#GIPFEL