Когда разрабатываете свой 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
#conference
🇺🇿2024 йил 18 апрель куни Тошкент Кимё халқаро университети томонидан «Тил ва таржима масалалари» мавзусида халқаро илмий-амалий анжуман конференцияси ўтказилади.
—-
🇬🇧Kimyo International University in Tashkent plans to hold an international scientific-practical conference on "Issues of language and translation" on April 18, 2024.
—-
🇷🇺18 апреля 2024 года в Ташкентском международном университете Кимё планируется проведение международной научно-практической конференции на тему «Вопросы языка и перевода».
🔗🇺🇿🇬🇧🇷🇺Подробнее: https://kiut.uz/ru/novosti/til-va-tarzhima-masalalari/
🗓Семинар «Точность регистрации причин смерти: повседневные условия, кризисы и эпидемии»
📍 Пройдет 19-20 марта 2026 года в Барселоне, Испания.
⏰ Дедлайн для подачи: 10 декабря 2025 года.
#conference
🗓Ежегодная конференция Европейского консорциума социологических исследований 2026 года - «Неравенство по замыслу? Социальные разногласия в эпоху неопределенности»
📍 Пройдет 15-17 июня 2026 года в Тринити Колледж Дублин, Ирландия.
⏰ Дедлайн: 11 января 2026 года.
#conference
🗓Европейская конференция о населении (European Population Conference)
📍 Пройдет 3-6 июня 2026 года в Болонье, Италия.
⏰ Дедлайн для подачи: 1 ноября 2025 года.
#conference
🗓Семинар «Социально-экономическое неравенство в смертности с течением времени»
📍 Пройдет 27 февраля 2026 года в Эде, Нидерланды.
⏰ Дедлайн для подачи: 1 октября 2025 года.
#conference
Седьмая Совместная аспирантская конференция (1Joint Doctoral Conference) в Университете Бамберга
Пройдет 13-14 ноября 2025 года в Бамберге, Германия
Дедлайн для подачи: 16 мая 2025
Подробности: https://www.uni-bamberg.de/en/bagss/seventh-joint-doctoral-conference-2025/
#conference
12-ая ежегодная Международная Конференция в Демографии и Исследованиях Населения (12th Annual International Conference on Demography and Population Studies)
Пройдет 16-19 июня 2025 в Афинах, Греция.
Дедлайн для подачи абстрактов: 6 Мая 2025
Подробности:https://www.atiner.gr/demography
#conference
Воркшоп "Миграция и технологии разграничения" (Migration and Technologies of Bordering) пройдет 6 июня 2025 г. в Университете Суррея, Великобритания
Дедлайн подачи абстрактов: 7 марта 2025 г.
Подробнее: www.ias.surrey.ac.uk/event/migration-and-technologies-of-bordering/
#conference
Международная конференция «Демографический переход: Политические последствия тенденций рождаемости и старения» пройдет в Вильнюсе (Литва) 23-24 мая 2025 года
Дедлайн подачи абстракта: 3 марта 2025 года.
Подробности: cipe.umd.edu/conferences/TheDemographicTransition/Vilnius_Call%20for%20Papers_25_0124B.pdf
#conference
7 симпозиум HMD: Растущие различия в продолжительности жизни в странах с высоким доходом
Пройдет 9–10 октября 2025 года в Париже, Франция.
Дедлайн для подачи: 30 марта 2025 года
Подробности: https://www.mortality.org/File/GetDocument/Public/Docs/HMDsymposium2025-announcement.pdf
#conference
Симпозиум "Демографические и медицинские последствия насилия и вооруженных конфликтов" (Demographic and Health Consequences of Violence and Armed Conflict)
Пройдет 1–2 июля 2025 года в Институте демографических исследований Макса Планка (Росток, Германия)
Дедлайн: 14 марта 2025 года
Подробности: https://www.demogr.mpg.de/en/news_events_6123/calendar_1921/demographic_and_health_consequences_of_violence_and_armed_conflict_13967
#conference