Когда разрабатываете свой 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
☠️ Хэй, Бэнгеры!
Ловите аудио и видео записи с праздничного эфираSolid Bangerz #39🔥
Прошедшего 28 октября 2025 года на волнах Reactor Radio!
⠀
Line Up:
INTERCEPTOR - audio| video
INFERNAL & EXIT4 - audio| video
CHAOZ -audio| video
VEIN -audio| video
PLASTI-X -audio| video
📹VK Video
🔊VK Audio
📸TG Photo
⠀
☠️Инфозона Solid Bangerz
🪙Поддержать команду монетой
⠀
С любовью к ритму и вам, Solid Bangerz!
#solid_bangerz#infernal#exit4#luger#interceptor#plastix#chaoz#vein
#reactor_radio#online_radio
#dnb_spb#dnb#drum_and_bass
☠️ Хэй, Бэнгеры!
28 октября, на эфире Solid Bangerz #39 мы отпразднуем день рождения команды, 24 октября нам исполнился 1 год🎉 Отметим эту небольшую но очень важную дату вместе под любимый саунд 🔊
На эфире выступят:
• Макс INTERCEPTOR — Диджей и селектор из города Шлиссельбург. Любитель знатно пошуметь в таких стилях как: Drum & Bass, Breaks. Участник команды Solid Bangerz☠️
• Дима INFERNAL — Адепт разрывного и динамичного Drum & Bass, настоящий генератор адской энергии. В его сетах - быстрые, ритмичные треки, тяжёлые басы и проверенные танцпол-уничтожители. Минимум пауз, максимум дропов - гарантированно! Участник команды Solid Bangerz☠️
• Макс EXIT4 — DNB продюсер с более чем 20-летним опытом. Основатель лейбла E-Form Rec и проекта Friend Zone. Автор релизов на Close 2 Death, Abducted LTD и др., а так же участник крупнейших радиошоу и подкастов страны. Участник команды Solid Bangerz☠️
• Андрей CHAOZ — Techno / DNB продюсер, магистр сведения и отец Redr00m Community🈴
• Кирилл VEIN — Industrial Hardcore / Crossbreed / DNB продюсер, эксперт в области жирных индустриальных бочек, дарковых риз-басов, металлических снейров и тёмной атмосферы ☠️
• Илья PLASTI-X — Босс "Reactor Radio" и преподаватель в "Нейропанк Академии". В Drum & Bass индустрии уже более 15 лет. Отдает предпочтение спидмиксингу, играя с 3-x дек в таких стилях, как Neurofunk и Techstep🔥
• Дима LUGER — Панк по натуре и философии, безудержный поклонник и создатель драм-н-бэйс культуры по жизни! Главный голос эфиров и участник команды Solid Bangerz☠️
Line Up:
20:00 - INTERCEPTOR
20:45 - INFERNAL & EXIT4
22:15 - CHAOZ
23:00 - VEIN
23:45 - PLASTI-X
Hosted by LUGER
‼️Трансляция Twitch
‼️ Трансляция VK - ссылка появится после запуска трансляции
☠️ Инфозона Solid Bangerz
🪙Поддержать команду монетой🤝
Увидимся на волнах Reactor Radio!
С любовью к ритму и вам, Solid Bangerz!
#solid_bangerz#infernal#exit4#luger#interceptor#plastix#chaoz#vein
#reactor_radio#online_radio
#dnb_spb#dnb#drum_and_bass
#birthday#1year
☠️02.05.2026 | SOLID BANGERZ NIGHT | гастро-бар «ПРОРУБЬ»
Таймтэйбл на сегодня:
20:00 - INTERCEPTOR
21:00 - UNQUIET
22:00 - SIRENA
23:00 - INFERNAL
00:00 - PLASTI-X
01:00 - VEIN
hosted by LUGER
‼️ Бар работает с 17:00 до 04:00 — можно прийти раньше и уйти позже 😉 Ждём всех в гости!
📍Бар «Прорубь» — Английский пр, 26
🕗с 20:00 до 02:00
🎟Вход FREE
☠️Инфозона Solid Bangerz
🪙Поддержать команду монетой
С любовью к ритму и вам, Solid Bangerz!
#solid_bangerz#infernal#unquiet#luger#sirena#vein#interceptor
#reactor_radio#plastix
#dnb_spb#dnb#drum_and_bass
#neurofunk#hardcore#techstep
☠️ 02.05.2026 | SOLID BANGERZ NIGHT | гастро-бар «ПРОРУБЬ»
Вечеринка от SOLID BANGERZ наконец возвращается!
Давление, энергия и звук, который не отпустит до самого конца!
Готовься — это будет разнос ⚡️
Line Up:
PLASTI-X
INTERCEPTOR
INFERNAL
UNQUIET
SIRENA
VEIN
hosted by LUGER
Ночь без компромиссов:
DRUM & BASS / NEUROFUNK / TECHSTEP / HARDCORE
📍Бар «Прорубь» — Английский пр, 26
🕗с 20:00 до 02:00
🎟Вход FREE
☠️Инфозона Solid Bangerz
🪙Поддержать команду монетой
С любовью к ритму и вам, Solid Bangerz!
#solid_bangerz#infernal#unquiet#luger#sirena#vein#interceptor
#reactor_radio#plastix
#dnb_spb#dnb#drum_and_bass
#neurofunk#hardcore#techstep