Когда разрабатываете свой 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
Config — ежегодная конференция Figma возвращается! #config
75+ спикеров, 50+ выступлений и конечно же долгожданные релизы и анонсы новых фич ждут тебя 21 и 22 июня!
Регистрируйся: https://config.figma.com
Ох, так не терпится рассказать вам сегодня про все обновления! Будет круто, не пропусти трансляцию, регистрируйся: https://config.figma.com/
Начало в 18:00 по Москве сегодня! #config
Config 24 часа: 10-11 мая пройдёт ежегодная конференция Figma! Целые сутки выступлений от 100+ (!!) интересных спикеров и команды Figma! Начало в 18:00 МСК.
Традиционно Дилан Филд откроет конференцию презентацией новых ооочень долгожданных фич! Регистрируйся и не пропусти: https://config.figma.com/. Записи всех выступлений будут доступны через неделю после конференции. #config
Запись выступления основателя Figma Дилана Филда для всех, кто пропустил Config! Дилан не только анонсировал новинки и показал всё в живых демонстрациях, но и поговорил о том, как совместная работа в дизайне продолжает набирать популярность и помогает создавать что-то большое. “Ничто выдающееся не делается в одиночку” — подытожил он. #config
→ https://youtu.be/v4g-oZ6mFIc
До начала Config 2021 остался один час! Как принято, она начнётся с презентации новинок! Как думаешь, что будет анонсировано сегодня? Предлагаем обсудить это с друзьями и сверить результаты после презентации — мы опубликуем все анонсы! #config
Одна неделя до Config! Время регистрации продлили до понедельника, ещё есть время зарегистрироваться и рассказать друзьям! #config Что нужно знать о конференции:
• 21 и 22 апреля с 19:00 до 00:00 по Москве
• 60 спикеров, три темы: “Embracing the mess”, “In the file”, “Shifting team culture”
• Анонсы и релизы новых фич и истории их создания от команды
• Варенье из инжира? 😍
👉👉👉 Регистрируйся: https://config.figma.com/
Что может быть лучше одного дня Config? Конечно же целых два дня конференции! 😍 21 и 22 апреля будет проходить долгожданная ежегодная конференция Figma. Начало в 19:00 и окончание в полночь по Москве в оба дня. #config
Более 50 спикеров изо всех уголков планеты (включая меня😎) поделятся своим опытом, знаниями и историями связанными с Figma, совместной работой и творчеством. 👉 Обязательно успей зарегистрироваться до 15 апреля, рассказывай всем друзьям и коллегам: https://config.figma.com/
Config возвращается! Следующая всемирная виртуальная конференция Figma пройдёт 21 апреля 2021 — присоединяйся! #config
На сайте config.figma.com ты можешь подписаться на оповещения о начале регистрации. Хочешь рассказать о своей команде, внутренних процессах и совместной работе в Figma? Ты можешь подать заявку на выступление (на английском) до 21 февраля.
💥💥💥Сегодня в 18:00 (Мск) стартует очередной #Config Figma. На нем будут представлены обновления.
Регистрируйся и смотри по ссылке https://config.figma.com/
В ближайшее время будет информация по всем обновлениям.
Вступительное выступление Дилана Филда (Dylan Field) с Config Europe теперь доступно для просмотра. Узнай как работают новые фичи представленные сегодня, а также какие новинки нас ожидают этой осенью и зимой! #config
Записи остальных выступлений с конференции будут доступны 15 октября!
▶️https://youtu.be/lWy4fB3G9Gc
Последний шанс зарегистрироваться на нашу онлайн конференцию Config Europe — это бесплатно! Начало через час! #config
Регистрируйся: https://hopin.to/events/config-europe
Подробности: https://config.figma.com
Config Europe — вторая конференция Figma уже не за горами!
🌏 Конференция проводится полностью онлайн
📅 17 сентября 2020
🕓 14:00 – 19:00 по Москве
🤑 Вход бесплатный для всех!
Регистрируйся уже сейчас и рассказывай друзьям: https://config.figma.com#config