Когда разрабатываете свой 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
💫Ваши арт- и гастропланы на 14 февраля уже здесь #lifestyle
День Святого Валентина — прекрасный повод объединить искусство и гастрономию, чтобы создать незабываемый день для двоих. Мы подготовили подборку стильных и романтичных комбинаций локаций в пешей доступности для идеального свидания.
Поделитесь подборкой с тем, кто сделает ваш День Святого Валентина по‑настоящему особенным 🤍
ART FLASH
💫Что новогоднего можно найти в «Котомке»: идеи подарков для любимых #lifestyle
Если вы все еще не купили подарки для друзей и близких, у нас есть хорошая новость. Мы заглянули в пространство «Котомка» и собрали подборку вещей, которые приятно дарить и не хочется откладывать на потом.
Любите дарить подарки?
❤️ — да, люблю
💔 — нет, люблю получать
ART FLASH
🌟Ваши арт+гастро планы в Санкт-Петербурге#lifestyle
После выставки хочется, чтобы впечатление не растворилось в дороге — в метро или такси. Чтобы разговор об искусстве продолжился за столом, а вкус ужина перекликался с увиденными работами.
Мы собрали рестораны и кафе в культурной столице в шаговой доступности от галерей — для тех, кто любит продлевать свои культурные маршруты.
ART FLASH
🍿Звезды есть? А если найдем?!
Сколько звезд в нагрудном украшении этой женщины вы насчитали? А сколько концов у этих звезд?
Считайте внимательно, но, сколько бы их ни было, они символизируют одно – солнце.
Звезда – солярный символ, одна из самых распространенных фигур в украшениях, она может иметь пять концов, шесть, семь и даже восемь, рассказала «Молодежке» научный сотрудник музея-заповедника – этнографического комплекса «Дагестанский аул» Сафия Рабаданова.
«Многоконечные звезды обозначали солнце. Вообще, сколько бы концов там ни было, это все обозначало солнце. В доисламской культуре Дагестана встречается звезда с пятью лучами»,
– обращает внимание сотрудница музея.
Солярный знак – один из древнейших символов, именно поэтому фигур, символизирующих солнце, было так много в украшениях горянок.
На фото: аварка из села Урада (Шамильский район), 1967 год.
#lifestyle
Рабочие дни 2025 ис овер — машем им ручкой вместе с коктейлем от Стэнли Туччи.
И посылаем их в жопу, конечно. Ну, так, для проформы.
Включаем новогоднее настроение — пытаемся, хотя бы
🤩
#lifestyle
#Lifestyle🎄
На дворцовой площади
Очень красивая елка
И вообще классная новогодняя атмосфера в центре очень красиво все горит и сверкает ✨💫💫💫💫
Делитесь фотками своих елок😍💓🎄
Получила , как это модно говорить, бьюти бокс, а если просто - доставку с косметическими средствами 😊🍀
Готова сделать распаковку.
Жертва маркетинга или гонка за молодостью - не знаю, как это называется, но как показывает практика: для начала надо высыпаться!
Кто со мной согласен - ставьте реакции 🔥
#lifestyle