Когда разрабатываете свой 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
The Ahmad Sham Sufi Qawwali Group — Introducing Ahmad Sham Sufi Qawwali Group (World Music Network, 2013)
#qawwali#sufi#harmonium#tabla#bansuri#Afghanistan
В XIII веке в Индии суфийАмир Хосров из ордена Чиштия объединил персидское, арабское, турецкое и индийское наследие духовных песнопений и создал традицию, которая сегодня известна как каввали. Aнсамбль Ахмада Шама — один из самых уважаемых коллективов, исполняющих каввали в Афганистане. Эта страна является одним из центров суфизма, для многих направлений которого музыка — важный элемент духовных ритуалов. Несколько самых прославленных суфийских святых были выходцами из современного Афганистана. Прежде всего поэт Руми родился в 1207 году в Балхе. В 2013 году Ахмад Шам записал со своим коллективом единственную пластинку на западном лейбле, но судя по тому, что в сети время от времени появляются записи его выступлений, он жив, здоров и продолжает практиковать свое искусство.
Spotify | AppleMusic | Telegram
Qais Essar — Echoes Of The Unseen (Worlds Within Worlds, 2024)
#traditional#hindustani#rubab#dilruba#daf#tabla#bansuri#santoor#Afghanistan
Каис Эссар — афганский композитор и инструменталист, известный своим новаторским подходом к традиционной музыке, сочетающим наследие с современностью. В своём альбоме Echoes of the Unseen Эссар экспериментирует с афганской классической музыкой, в центре которой находится рубаб — национальный инструмент Афганистана (и предшественник индийского сарода).
Композиции альбома основаны на рагах — традиционных мелодических формах афганской и индийской классической музыки, которые соответствуют определённым временам суток, начиная с утра и заканчивая ночью. Полевые аудиозаписи природы Северной Аризоны, где живёт Эссар, создают в альбоме дополнительное измерение естественных звуков. А за многообразие традиционных инструментов на разных треках отвечали Сандип Сингх (дильруба), Ниламджит Дхиллон (табла), Эрик Занг (даф), Джас Ахлувалиа (табла), Камалджит Ахлувалиа (сантур) и Химаншу Нанда (бансури).
Экспериментальный подход Эссара позволяет расширить границы звучания рубаба через импровизацию в рамках традиции. Музыкант обращается к музыкальной линии Устада Аллаудина Хана, особенно к игре на сароде Устада Али Акбар Хана и Устада Аашиш Хана (сына и внука Аллаудина, соответственно). А в рамках текущего запрета на музыку в Афганистане, Эссар подчёркивает важность сохранения и развития наследия рубаба, обеспечивая выживание инструмента в современном музыкальном контексте.
🔗AppleMusic | Spotify | YouTube | Deezer | TIDAL | Napster | Amazon | Bandcamp | Telegram
Various Artists — Folk Music of Pakistan (Folkways Records, 1951)
#traditional#alghoza#bansuri#bagpipe#clarinet#dholak#dilo#duff#ghatam#mandolin#sarinda#sitar#tabla#tambura#Bangladesh#Pakistan
Пакистан образовался в 1947 году после разделения Британской Индии на два государстваː индуистское, Индийский Союз, и мусульманское, Доминион Пакистан. Бангладеш, ранее известный как Восточный Пакситан, приобрёл автономность в 1971 году в результате войны за независимость.
Композиции из разных регионов обеих современных стран представлены на этой записи 1951 года. Например, на ней можно услышать песню бангладешских лодочников «бхатиали» (ভাটিয়ালি) или пуштунскую любовную песню из Хайбер-Пахтунхва.
Важно отметить, что некоторые названия, упомянутые в названиях песен, изменились с момента создания этих записей. Например, провинция Хайбер-Пахтунхва (Khyber Pakhtunkhwa) в 1951 году носила имя Северо-Западная пограничная провинция (Northwest Frontier Province).
🔗Spotify | AppleMusic