Когда разрабатываете свой 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
Должны признаться..
Тизеры пятого мини альбома aespa 'Whiplash' кое-что нам напомнили
🫠
О том, насколько же помада MISCHIEF IN PROGRESS #cuteadventure крутая
😈
Недавно Supernova ворвалась с разбега в наш плейлист, теперь ждем следующий релиз и повторяем slay-образы девочек
😌
💕
#sodaloveskpop
Кажется, мы все недостаточно говорим о том, какая же Хо Юнджин роскошная 😔🌹
🖤
Новый альбом уже вот-вот выйдет, а пока ждем, держите подборку, вдохновленную нашей рыжеволосой любимкой из Le Sserafim 💅 Подобрали продукты к каждому образу
👍
#sodaloveskpop
Чимтябрь прошел, а булочки все не кончаются.. в нашей пекарне пополнение! ❤
Что объединяет Соду и Ли Тэмина? Сладкие снаружи, но не такие уж простые внутри✨
А еще с Тэмином (как и со сладким) невозможно остановиться… поэтому чекнув камбэк с Guilty мы не могли остановиться и окунулись в другие не менее любимые релизы и подобрали к ним продукты!
✨ Заметили парочку новинок? 👀
На десерт конечно же кошочки – Taemin & Kkoong 😠🐱
#sodaloveskpop
“Oh yeah know the healing will take time
Start dealing with it now”
🎶
Тяжелый день на работе? С кем-то поссорились? А может, вы сейчас сдаете экзамены?
🫶 Мы всегда рядом, всегда тут, готовы комфортить вас!
Хотим познакомить вас с одной из самых «исцеляющих» групп в нашем плейлисте – The Rose
🌷
Ребята недавно вернулись с альбомом Heal, который не раз помогал нам в трудные моменты
Давайте сегодня вечером наберем ванну! +100 к хилу, если добавить к процессу одну из наших новых бомбочек для ванны, а еще патчи с колой под глаза, повязку с кошечкой на голову (потому что вы наши любимые кошочки!), увлажняющую масочку на лицо, марафон The Rose на фоне
Закрываем глаза – healing ❤️🩹
Позвольте себе отдохнуть, вы заслужили это!
🛀
#sodaloveskpop
“Let me tell you ’bout LE SSERAFIM”
😈
Фирнот тут? 👀
Наши любимые фиммис недавно выпустили свой первый полноформатный альбом UNFORGIVEN!
🎧 Уже успели послушать? Что понравилось больше всего?
А что, если к каждой песне подобрать продукт от соды?
👀
Выбирайте песню и рассказывайте, что вам попалось!
#sodaloveskpop
🌛
✨
✨Сложно описать весь спектр эмоций, который мы испытали, увидев новый концепт TXT…
Но потом вышел альбом и мы вообще отъехали…
🌟
🌸
✨
#sodaloveskpop
Поздравляем Дженни с днем рождения и любуемся ее новой обложкой Vogue Корея 💗
Только нам кажется, что розовые румяна/тени в ее образе подозрительно напоминают палетку для лица We share the earth? 👀
#sodaloveskpop
❤️ Вы же уже слышали нашумевший хит Love Dive от Ive?
Песня, не выходившая из головы миллионов слушателей, раскрывает, как незабываемы чувства, когда только погружаешься в омут влюбленности 💘
А мы влюблены в новый фейсчарт по этой песне!
Кстати, вы можете написать свои варианты песен, для которых мы можем сделать макияж!
Вдруг следующей будет именно ваша любимая песня… 👐
#sodaloveskpop
Сезон снежинок на щеках, белых ресниц и румяных щечек уже на пороге ❄️❄️❄️
🥶 Звучит как отличный повод вдохновляться Freeze эрой TXT и расчехлять коллекцию Soda x Frozen ll, не так ли?)
#sodaloveskpop
💗
🌛💫
💕
💜
🔥💞
💞
⭐️
🌸
pov: ты вернулась с тусовки и твой вечерний фул глэм всю ночь растекается по подушке..
❓Появилось чувство дежавю? Для чистой и здоровой кожи не забывайте тщательно смывать свои шедевры перед сном!
❤️
#sodamemes#sodaloveskpop
💅🏻
😊🫦🥂
💋
🥰
🤣
⏳
💃
👑😘
Как мы выходим из бутика соды, не удержавшись и скупив все 6 новых палеток за раз…
Well, а кто запретит, когда у тебя queen card? 😏
#sodaloveskpop#sodamemes