Когда разрабатываете свой 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
Самые яркие спикеры и очаровательные слушатели — только на D+A Tour от MosBuild ❤️
Вот и подошла к концу региональная программа в Красноярске. Сегодня на сцене выступили эксперты, обсудив всё: от новых трендов в материалах и актуальных решений для интерьеров до построения личного бренда
Готовимся к Новосибирску! Уже в этот четверг гости D+A Tour отправятся на экскурсию по заводу компании Veka, а в пятницу посетят деловую программу, на которой выступит специальный гость — Артемий Лебедев
#datour#krasnoyarsk
В завершение мероприятия наш звездный спикер — Диана Балашова
Амбассадор MosBuild выступила с лекцией на тему «Успешный старт в дизайне интерьеров: стратегии построения карьеры и источники вдохновения»
#datour#krasnoyarsk
На сцене — амбассадоры MosBuild!
Главный архитектор Megabudka Антон Горовой рассказал о передовых решениях и концепциях архитектурного бюро
#datour#krasnoyarsk
Яков Канджо, генеральный директор AM Group, с вступительным словом перед лекцией архитектора и дизайнера Анны Сахаровой, основательницы дизайн-бюро BELLARDO и амбассадора AM Group
Благодарим AM Group, партнера региональной программы D+A Tour
#datour#krasnoyarsk
Альберто Фаварон,директор по проектам KERAMA MARAZZI, поделился видением бренда на керамику в современном интерьере
Благодарим KERAMA MARAZZI, партнера региональной программы D+A Tour
#datour#krasnoyarsk
Региональный менеджер KNAUF Алексей Петров выступил с лекцией на тему звукоизоляции в жилых помещениях
Благодарим KNAUF, генерального партнера D+A Tour
#datour#krasnoyarsk
Амалия Данги, коммерческий директор MercuryStone, рассказала о трендах выставки Marmomac 2025
Благодарим MercuryStone, партнера региональной программы D+A Tour
#datour#krasnoyarsk
D+A Tour стартовал в Красноярске 🔥
Уже скоро на сцену выйдут амбассадоры выставки MosBuild — дизайнер Диана Балашова и главный архитектор бюро Megabudka Антон Горовой, атакже амбассадор AM Group Анна Сахарова.
Следите за обновлениями!
#datour#krasnoyarsk
До региональной программы D+A Tour в Красноярске остаются считанные дни! У вас ещё есть возможность зарегистрироваться на деловую программу по ссылке — https://clck.ru/3PPJRK
Сохраняйте расписание наших встреч, чтобы не пропустить всё самое интересное:
📌7 октября
➖Деловая программа
В One Way Loft по адресу ул. Пушкина, 22г
13:00–13:50
Сбор гостей, welcome-фуршет, фотозона
13:50–14:00
Вступительное слово модератора
Светлана Котлукова — АрхДиалог
Приветственная речь организатора
Яков Сыромятников — директор выставки MosBuild
14:00–14:20
➖Обзор трендов выставки Marmomac 2025
Спикер: Амалия Данги— коммерческий директор MercuryStone
14:20–14:50
➖Актуальность звукоизоляции в жилых пространствах – от квартиры до гостиницы
Спикер: Алексей Петров —региональный менеджер KNAUF
14:50–15:30
➖Керамика в современном интерьере. Видение KERAMA MARAZZI
Спикеры: Альберто Фаварон — директор по проектам KERAMA MARAZZI и Наталья Рашковская— менеджер отдела развития KERAMA MARAZZI (перевод)
15:30–15:50
Перерыв
15:50–16:30
➖Тема и спикер на уточнении
16:30–17:10
➖Что такое «прет-а-порте для интерьеров»?
Спикер: Анна Сахарова, архитектор-дизайнер, основатель дизайн-бюро BELLARDO, амбассадор AM Group
СПЕЦИАЛЬНЫЙ ГОСТЬ
17:10–17:50
➖Новый стиль в архитектуре: инновационные решения и концепции Megabudka
Спикер: Антон Горовой, главный архитектор бюро Megabudka, амбассадор MosBuild
17:50–18:00
Завершение мероприятия
До встречи в Красноярске!
#datour#krasnoyarsk
Совсем скоро D+A Tour пройдет в городе Красноярск!
Что вас ждёт:
7 октября — деловая программа в пространстве One Way Loft по адресу ул. Пушкина, 22г
Среди спикеров:
➖Амалия Данги, коммерческий директор MercuryStone
➖ Алексей Петров, региональный менеджер KNAUF
➖Альберто Фаварон, директор по проектам KERAMA MARAZZI
➖Анна Сахарова, архитектор-дизайнер, основатель дизайн-бюро BELLARDO, амбассадор AM Group
СПЕЦИАЛЬНЫЙ ГОСТЬ
➖Антон Горовой, главный архитектор бюро Megabudka, амбассадор MosBuild
Программа дополняется, следите за обновлениями!
✔Регистрируйтесь на мероприятие по ссылке: https://clck.ru/3PPJRK
#datour#krasnoyarsk#mosbuild