Когда разрабатываете свой 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
H🙂LA, Друзья!
Завтра, 27 января, с 10:00 до 18:00 в LES Art Resort пройдёт BEAUTY DAY от компании PHYTOMER🥰
Посвятите время красоте и не упустите возможность позаботиться о своей коже в холодный зимний период❤️
В программе:
💫Экспресс уходы 30 мин по специальной цене 1000р.
💫набор миниатюр «Скраб+Увлажнение» в подарок при покупке средств для домашнего ухода на сумму от 12 000 рублей
💫консультация врача-косметолога
💫тестер-бар
Консультация и запись на уходы по телефону у администратора SPA
+7(495) 414-17-07 доб: 0011
#отдыхсдетьми#семейныйотдых#lesartresort#lesresort#beautyday
H🙂LA, Друзья!
Весна уже на носу, а значит, пришло время подготовиться к новому сезону и уделить время своей красоте 💫
22 февраля с 11:00 до 18:00 в LES Art Resort пройдёт BEAUTY DAY от компании PHYTOMER😍
Как и всегда, вы сможете получить консультацию экспертов, ознакомиться с продукцией бренда, посетить уходы и просто приятно провести время в компании единомышленниц❤️
В программе:
⭐️Экспресс уходы 30 мин по специальной цене – 1000 рублей
⭐️Подарок при покупке средств для домашнего ухода на сумму от 10 000 рублей
⭐️Консультация врача-косметолога
⭐️Тестер-бар
✅Услуга доступна для проживающих в отеле
📍LES Art Resort
📆 22 февраля с 11:00 до 18:00
Консультация и запись на уходы по телефону у администратора SPA
+7(495) 414-17-07 доб: 0011
#отдыхсдетьми#семейныйотдых#lesartresort#lesresort#beautyday#phytomer
H🙂LA, Друзья!
В Москву пришли настоящие холода, а значит, самое время подготовить кожу к зимнему сезону, уделить время время себе и своей красоте 💫
30 ноября с 11:00 до 18:00 в LES Art Resort пройдёт BEAUTY DAY от компании PHYTOMER😍
Как и всегда, вы сможете проконсультироваться с экспертами, ознакомиться с продукцией бренда, посетить уходы и просто приятно провести время❤️
В программе:
⭐️Экспресс уходы 30 мин по специальной цене – 1000 рублей
⭐️Подарок при покупке средств для домашнего ухода на сумму от 10 000 рублей
⭐️Консультация врача-косметолога
⭐️Тестер-бар
✅Услуга доступна для проживающих в отеле
📍LES Art Resort
📆 26 октября с 11:00 до 18:00
Консультация и запись на уходы по телефону у администратора SPA
+7(495) 414-17-07 доб: 0011
#отдыхсдетьми#семейныйотдых#lesartresort#lesresort#beautyday#phytomer
H🙂LA, Друзья!
Отдых – идеальное время не только для того чтобы восстановить силы и зарядится энергией, но и чтобы позаботиться о своем уходе и красоте🙌🏻
Уже в ближайшую субботу, 26 октября, в LES Art Resort пройдёт BEAUTY DAY от компании COMFORT ZONE.
Как и всегда, вы сможете проконсультироваться с экспертами, ознакомиться с продукцией бренда, посетить уходы и просто приятно провести время в компании единомышленниц❤️
В программе:
⭐️Экспресс уходы 30 мин по специальной цене – 1000 рублей
⭐️Подарок при покупке средств для домашнего ухода
⭐️Консультация врача-косметолога
⭐️Тестер-бар
📍LES Art Resort
📆 26 октября с 11:00 до 18:00
Консультация и запись на уходы по телефону у администратора SPA
+7(495) 414-17-07 доб: 0011
#отдыхсдетьми#семейныйотдых#lesartresort#lesresort#beautyday#comfortzone
H🙂LA, Друзья!
Продолжаем радовать прекрасных дам и приглашаем на очередной праздник красоты – на этот раз SPA Day от компании PHYTOMER, который пройдёт 21 сентября с 11:00 до 18:00😍
Идеальная возможность уделить время себе, проконсультироваться с экспертами и расслабиться после тяжелой рабочей недели 💫
В программе:
⭐️Экспресс уходы 30 мин по специальной цене – 1000 рублей
⭐️Подарок из региона Британь (Франция) при покупке средств для домашнего ухода на сумму от 10 000 рублей
⭐️Консультация врача-косметолога
⭐️Тестер-бар
✅Услуга доступна для проживающих в период с 20 по 22 сентября
Консультация и запись на уходы по телефону у администратора SPA
+7(495) 414-17-07 доб: 0011
#отдыхсдетьми#семейныйотдых#lesartresort#lesresort#beautyday#spaday#phytomer
H🙂LA, Друзья!
14 октября с 11:00-18:00 в LES Art Resort пройдёт BEAUTY DAY от
бренда французской косметики PHYTOMER 🙌🏻.
Для всех постояльцев в программе:
💫экспресс уходы 30 мин по специальной цене 1000руб.;
💫подарок от региона Британь при покупке продуктов для домашнего ухода от 10 000руб.;
💫консультация врача-косметолога;
💫тестер-бар.
Проконсультироваться со специалистом, а также записаться на уходы можно по телефону у администратора SPA +7(495)4141707 доб.:0011
Ждём вас ❤️
#lesartresort#lesresort#выходные#семейныйотдых#всевключено#allinclusive#holaclusive#spa#beautyday
H🙂LA, Друзья!
8 июля в LES Art Resort пройдёт BEAUTY DAY от
бренда французской косметики PHYTOMER 🙌🏻.
Для всех постояльцев в программе:
💫экспресс уходы 30 мин по специальной цене 1000руб.;
💫подарок при покупке продуктов для домашнего ухода от 10000руб.;
💫консультация врача-косметолога;
💫тестер-бар.
Проконсультироваться со специалистом, а также записаться на уходы можно по телефону у администратора SPA +7(495)4141707 доб.:0011
С нетерпением ждём вас!
#lesartresort#lesresort#выходные#семейныйотдых#всевключено#allinclusive#holaclusive#spa#beautyday#PHYTOMER