Когда разрабатываете свой 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
MrBeast (@MrBeast) acquired 167,436 $ASTER for 320,587 $USDT ($1.91 each) ~15 hrs ago!
Over the past week, he has spent $1.325M on 705,821 $ASTER at an average price of $1.88. Now worth $1.4M, up +$63.9K!
Follow @spotonchain and track #MrBeast’s next #Aster move at https://x.com/spotonchain/status/1972592103290290519
🔥 MrBeast разыгрывает $1 млн прямо в рекламе
Мир маркетинга и фанатов головоломок взорвался: MrBeast спрятал настоящий приз в рекламе Salesforce, показанной на Супербоуле - и отдал шанс заработать $1 000 000 тому, кто первым разгадает загадку.
👉 В ролике - цепочка подсказок: часть из них в самом видео, часть - за его пределами. Чтобы выиграть, нужно собрать сквозной код и первым отправить его самому MrBeast через Slackbot.
🎯 Почему это важно:
• Это не просто реклама - это интерактивный челлендж на миллионы, в который вовлечены десятки миллионов людей по всему миру.
• MrBeast и Salesforce перевели пассивный просмотр в активное участие: ты не просто смотрел рекламу - ты стал участником головоломки.
• Это уникальный пример, как бренд может объединить игровой формат, AI-технологии и вирусный контент в одном проекте.
Пока никто ещё не выиграл - головоломка всё ещё в игре.
Если кто-то из подписчиков моего ТГ выйграет, отправьте мне 100$ на 🍺😀
#MrBeast#Salesforce#Маркетинг#SuperBowl#ИИ
#The_Bloomberg🇺🇸📕[PDF]⬇️
#October2025
#Monthly_Magazines
For learning, for free(dom).
@backupofmagazines
This issue dives into #MrBeast’s transformation from YouTube star into a global #media mogul, steering an empire of 430M fans. Inside, stories range from #stablecoins spooking banks, Hollywood’s #jobcrisis, and Stellantis wrecking #Jeep, to Chanel’s new #luxury watch and AI reshaping the creator economy. Also: the CDC’s mounting troubles, Korean firms paying for births, and why #CPI misses inflation’s full picture. A sharp mix of #business, #tech, #culture, and #geopolitics defines this edition.