Когда разрабатываете свой 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
🇩🇴⚾️ Carlos Santana competirá por la República Dominicana en el Clásico Mundial de Béisbol sin seguro, informó Ken Rosenthal.
✅🐍 La razón es simple: el socio de seguros de la MLB no cubrirá a los jugadores de 37 años o más, pero el nuevo equipo de Santana, de 39 años, los Dbacks, está dispuesto a cubrir su salario de $2 millones incluso si se pierde tiempo debido a una posible lesión en el WBC.
❌🛰 Los Dodgers no ofrecieron esta misma garantía para Miguel Rojas, que pronto cumplirá 37 años, en su contrato de un año y $5.5 millones.
#️⃣#TeamDominicana#Santana#Dbacks#Dodgers#MRojas
🗞 | t.me/MLB_Daily
🎶Правильный ответ на вчерашний интерактив👇
✅ Да, это Santana — легендарный коллектив, который стал настоящим мостом между роком и латинскими ритмами. Группа под руководством мексикано-американского гитариста Карлоса Сантаны произвела фурор на церемонии Грэмми 2000, получив 9 наград за один вечер — рекорд, который до сих пор вызывает восхищение.
Кто такой Карлос Сантана
Он родился в Мексике, в штате Халиско, и начал играть на скрипке ещё в детстве. Позже его заворожила гитара и... афро-кубинская перкуссия. В 1960-х он собрал группу, которая громко заявила о себе на легендарном фестивале Вудсток в 1969 году — с мощным выступлением, в котором электрогитара встретилась с латиноамериканскими барабанами.
Что сделало музыку Santana особенной
Они первыми смешали психоделический рок, блюз и джаз с латиноамериканскими ударными инструментами — например, с конгами и тимбалами (это барабаны, которые часто используют на Кубе и в Пуэрто-Рико). Получился совершенно новый, энергичный и эмоциональный стиль.
Самый громкий успех пришёл с альбомом Supernatural (1999), где группа сотрудничала с такими артистами, как Rob Thomas, Wyclef Jean, Eric Clapton и другими. Хит Smooth стал гимном целого поколения и звучит до сих пор.
С тех пор Santana стали символом латиноамериканского вклада в мировую музыку. И хотя сам Карлос давно живёт в США, свои мексиканские корни он всегда подчёркивает.
Факт напоследок
В честь Карлоса Сантаны названа улица в его родном городе Аутлан, а в 2003 году журнал Rolling Stone включил его в список 15 лучших гитаристов всех времён.
#Santana#КарлосСантана#Грэмми#ЛатинскаяАмерика#МузыкальныеФакты#ИсторияРока#Латинорок#TelegramQuiz#Smooth#Supernatural#ЛегендыМузыки
👉Всегда свежие новости о странах Латинской Америки!