Когда разрабатываете свой 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
В Лос-Анджелесе состоялась 68-я церемония вручения музыкальной премии «Грэмми».
Собрали победителей в основных номинациях:
Песня года: Билли Айлиш — Wildflower
Запись года: Кендрик Ламар и SZA — Luther
Альбом года: Bad Bunny — Debí Tirar Más Fotos
Лучший новый артист: Оливия Дин
Лучший вокальный поп-альбом: Леди Гага — Mayhem
Лучший рэп-альбом: Кендрик Ламар — GNX
Лучший альбом в жанре R&B: Леон Томас — Mutt
Лидерами по количеству полученных наград стали Кендрик Ламар (5), Lady Gaga, Bad Bunny, Turnstile и Леон Томас (2).
@wownewsru#grammy2026
В главной номинации «Альбом года» победил Bad Bunny. Его работа «Debí Tirar Más Fotos» стала первым латиноамериканским альбомом в истории, который получил эту престижную награду.
@wownewsru#grammy2026
Секретный гость на «Grammy 2026» — певица Шер!
Артистку отметили за выдающийся вклад в музыку, а также она вышла на сцену, чтобы вручить награду в номинации «Запись года».
Правда в моменте она забыла вручить статуэтку и собралась уже уходить со сцены — надеемся, это было так задумано.
Победителем в этой номинации стал Кендрик Ламар.
И да, Шер 79 лет! Разве в это можно поверить?
@wownewsru#grammy2026
На церемонии «Grammy 2026» прошёл трибьют ушедшим музыкантам, в том числе легендарному Оззи Осборну.
Легенда соул-музыки Лорин Хилл вышла на сцену вместе с ведущими R&B и рэп-исполнителями.
Семья Оззи Шэрон, Келли и Джек Осборн находились в зале и были очень растроганы выступлением 💔
@wownewsru#grammy2026
Билли Айлиш с песней «Wildflower» получила «Grammy 2026» в номинации «Песня года».
К сожалению, «Abracadabra» не смогла повторить этот успех и уступила в борьбе в этой номинации.
@wownewsru#grammy2026
Сингл Lady Gaga «Disease» не одержал победу в номинации «Лучшее сольное поп-исполнение» на «Grammy 2026».
Несмотря на статус мощного лид-сингла и одного из самых обсуждаемых релизов года, композиции не удалось принести Леди Гаге третью статуэтку «Грэмми» за вечер.
Награда досталась треку «Messy» Лолы Янг.
@wownewsru#grammy2026
Альбом «MAYHEM» Lady Gaga одержал победу на «Grammy 2026» в номинации «Лучший вокальный поп-альбом».
Этот вечер стал триумфальным для Стефани: она получила вторую статуэтку за церемонию и 16-ю награду «Грэмми» в карьере, укрепив свой статус шестой самой награждаемой артистки в истории премии — наравне с Адель.
Особенно символично, что это первая победа Леди Гаги в данной номинации за последние 15 лет.
Поздравляем ❤️🔥
@wownewsru#grammy2026
Сабрина Карпентер второй год подряд зажигает сцену премии «Грэмми» яркими и запоминающимися выступлениями.
В этом году певица исполнила трек «Manchild» — делимся эффектными фрагментами шоу.
@wownewsru#grammy2026
Kendrick Lamar стал самым награждаемым рэпером в истории «Грэмми» — на его счету 26 побед. Ранее рекорд принадлежал Jay-Z с 25 наградами.
Сегодня Kendrick победил во всех рэп-номинациях «Grammy 2026».
Легенда жанра не иначе 🔥
@wownewsru#grammy2026