Когда разрабатываете свой 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
Пятничное вдохновение: новые обложки арабского Vogue c Амирой Аль Зухайр и Кэндис Сванепул, а также Элизабет Грейс для обложки Vogue Китай!
Воссоздай образы с палеткой Game over #gamegirl 001 Old school и жидкими тенями #eyeloveyou в оттенках 002 Fairy glow, 006 Ancient mask 🌙
#sodainspiration#sodalovespopculture
Романтики, вы здесь? Сегодня погружаемся в загадочный мир антиутопии…👽 С Лу, главной героиней и иконой киберпанка со всеми вытекающими: холодные оттенки, металлические мотивы и ничего лишнего!
Самые яркие элементы этого образа — жидкие тени #eyeloveyou в оттенке 003 Albus и жидкий хайлайтер #showyourself North wind, а также насыщенные, но приглушенные цвета палетки Some things never change. Для основы рекомендуем сочетание контурирующей пудры #easyskinny с кремовым консилером #byeundereye🌌
#sodalovesgames
Романтики, вы попросили и мы сделали — наша версия макияжа Агаты из истории "Я охочусь на тебя" 💘
Мы решили разобрать один из самых красивых образов Агаты с очень нежным макияжем 🌸 Для макияжа глаз нам в первую очередь понадобится палетка Sugoi #mangaeyes: в ней есть нужные нам оттенки голубого, а еще черные тени, которыми мы нарисуем стрелки (чтобы они были более мягкие и не перетягивали на себя внимание).
В уголки глаз и на нижнее веко нанесем жидкие тени #eyeloveyou в оттенке 002 Fairy glow 💜 — оттенки голубого и светло-лавандовый создадут более многослойный, интересный оттенок и подчеркнут красивые зеленые глаза Агаты ⭐ Пройдемся тонким слоем румян #crazycrush в оттенке 001 You're awesome для естественного румянца. Главное не переборщить!
Добавим сияния блеском для губ #wegotyoubabe в самом блестящем оттенке 102 Diamond sugar 💎 И последний шаг, но точно не по важности, это нанесение мерцающего фиксирующего спрея для макияжа #fixit✨ Во-первых, он сделает так, чтобы эта красота продержалась как можно дольше. А во-вторых, добавит волшебного мерцания ❤
Бонус: спрей можно нанести еще и на ключицы и плечи ⭐
Пишите, чьи образы из клуба романтиков вы хотите разобрать (все образы можно найти по тэгу) 👻
#sodalovesgames
Романтики, Вы просили разобрать образ Амалы из Кали — Зов Тьмы, и мы прислушались ☺️ Амала — индолог (и этническая индианка), поэтому в ее образе будет преобладать бронзовая палитра 🌅
Амала относительно современная девушка, и тоже любит сиять ✨ Так, наш выбор пал на идеальное комбо: жидкие мерцающие тени #eyeloveyou в оттенке 005 Bronze gal и сияющий бронзер #herecomesthesun в оттенке 102 Dark chocolate 🍫
У нашей героини глубокие, чарующие глаза 😻 И мы подчеркнем их насыщенными цветами палетки Galaxy cake 002 «Blue cake», жидкой подводкой для глаз #guyliner в оттенке 007 Boy и плоским карандашом для бровей #wowbrow⚡️
Вишенкой на торте будет жидкая помада с эффектом металлик #mermazing в оттенке 004 Crazy glow 🍒
Кстати, у нас в Likee есть тюториал по макияжу Амалы 😏
#sodalovesgames
It’s a cruel summer… with you🩷
Мы уже подобрали продукты к первым пяти эрам Тейлор здесь и здесь, а сегодня разберем оставшиеся пять! Итак, эры Тейлор (SODA's Version) 🌸
Reputation 🐍
Are you ready for it? Дерзкая, мне-все-равно-что-вы-обо-мне-думаете эра! Продукты эры: сатиновая помада в стике #talkofthetown в темном оттенке 005 Sweet cherry 🍒, жидкие тени #eyeloveyou в смелом оттенке getaway car 002 Fairy glow и много-много сияния с глиттером #bizarreshine и лаком для ногтей #starryglow 006 Aurora ⭐ А завершить образ можно черными сережками-молниями #sugargem⚡
Lover 💕
Самая милая, счастливая и влюбленная эра Тей — и все мы мечтаем однажды в ней оказаться 😭 Цвета соответствуют: пастельные, яркие, сияющие ✨ Продукты эры: палетка с критическим содержанием шиммера Galaxy cake 002 Blue cake, розовый глиттер #bizarreshine, розовый штампик-сердечко #makeitpop и те самые духи-кошка с их сладким ароматом и блестками 🐾 Аксессуары тоже кричат о любви — серьги heart in fire pink и набор колец pink 💘
#sodalovespopculture#sodalovestaylorswift