Когда разрабатываете свой 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
А вот и 4 окошко!
SODA Жидкая матовая помада #matteaboutyou💋
Может обычно ты больше склоняешься к тинту или блеску… Но праздники просто кричат: нужна помада, 100%🫡
За что любим больше всего: наносится не сложнее тинта и ложится ровно – ты точно справишься!
👊
Но самое впечатляющее — выбор оттенков, от естественных до красных, ярко-розовых, фиолетовых и даже голубого (особенно как подложка под тени) 🤪
Идеальный подарок для тех, кто готов влюбиться в помаду, но не знает, с какой начать 👀
#sodalab
Смотрим на повторе Lavender haze — новый клип нашей любимой Блонди, Тейлор 💜
И только один вопрос не дает покоя… Как много глиттера #bizarreshine и матовой помады #matteaboutyou ушло бы на создание этих образов? 😭 Спрашиваем для подружки… 👉👈
#sodalovespopculture#sodalovestaylorswift
Романтики, сегодня мы отправимся в параллельный мир, куда заключили в наказание нашу героиню, Селену 🔮 Мы решили разобрать один из ее самых ярких и смелых образов — узнаете, откуда? 👀
Сначала — контуринг! Нам понадобится палетка для лица Coffee magic в оттенке 001 (светлая). Для бровей и веснушек возьмем ультратонкий карандаш #browpurrfection — с ним веснушки будут смотреться естественне 💅
В макияже глаз — максимальная драма, поэтому берем палетку теней с самыми насыщенными оттенками Into the unknown #showyourself и конечно же подводку-маркер под стать: #makeitpop в оттенке 101 Black cult ❤️🔥 Завершим образ яркой, насыщенной жидкой матовой помадой #matteaboutyou 005 Be bright 💋
#sodalovesgames
Романтики, сегодня разбираем образ Мии, как вы и просили 👀
У героини очень дерзкий образ, можно даже сказать, она женщина-вамп 🤭
Весь образ строится на сильных контрастах, поэтому для макияжа глаз мы возьмем палетку с насыщенными темными оттенками Into the unknown #showyourself❤️🔥 С ней можно сделать классический черно-дымчатый смоки, или поэкспериментировать и попробовать бордовые оттенки!
Естественные тени на лице подчеркнем контурингом в стике #easyskinny, чтобы структура лица выглядела более выраженной ⚡️
В качестве интересного акцента мы бы добавили полумесяц 🌙 с помощью маркера для глаз в форме луны #makeitpop — всё-таки она рожденная луной 🌚
Для губ идеально подойдет жидкая матовая помада #matteaboutyou в оттенке 006 Fall in love — темно-красная, насыщенная, вайб вампир 💋
Хорошим завершением образа будет лак для ногтей #glossyglow. Здесь выбор за вами: красный оттенок № 005 Arson или черный № 006 More 💅
Чьи образы Клуба Романтики нам разобрать следующими? 🐾
#sodalovesgames
Folklore 🌿
Salt air... and the rust on your door 🌊 Поэтичная эра, чем-то напоминающая прохладный летний день на природе, далеко от города — а может даже во сне? 👀 Продукты эры: мечтательная, эфемерная палетка #mangaeyes Stylish, палетка для лица We share the Earth, которая даст нам свежий цвет лица (особенно румянец!) и волшебный бальзам-кристал для губ. А заколка-крабик Holographic идеальна для небрежного пучка ❤
Evermore🍂
Согласно самой Тейлор, Evermore — это поздняя осень, начало зимы; холодное, темное время. Есть какая-то особая меланхолия в этой эре и ее цветах... Продукты эры: палетка цветов поздней осени The next right thing, глиттер гель The message (тот самый ivy и incandescent glow) и блеск для губ естественного оттенка #exploretheocean. Финальный штрих — бежевый лак для ногтей #glossyglow в оттенке Afterglow (привет, Lover!)
Midnights🌙
I can make the whole place shimmer
💎 Эра темных, сияющих оттенков... вдохновляемся ночным небом, звездами, и чувствуем себя bejeweled! Продукты эры: палетка теней Some things never change, жидкие тени для век в оттенке 001 Snow Queen и жидкий хайлайтер #liquidlove — для звездного, галактического сияния! Для губ возьмем жидкую матовую помаду #matteaboutyou в оттенке Answer (Question?...) и лаком с голографическими блестками!
#sodalovespopculture#sodalovestaylorswift