Когда разрабатываете свой 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
Вместе - хоть в космос !
Сегодня у нас митап.
Это всегда особенный день.
Мы очень готовимся и стараемся.
И хочется не просто повторить успех предыдущих встреч, а сделать ещё больше — в содержании, в атмосфере, в настоящем обмене энергией.
В этот раз мы выбрали нашу любимую тему — команды.
Будем вместе размышлять: каким должен быть идеальный лидер сегодня?
И познакомимся с подходом, который считаем особенно актуальным — вдохновляющее лидерство.
Очень рады, что приглашение выступить перед нашим сообществом принял Сергей Кондаков, генеральный директор Tom Tailor.
Настоящий практик и вдохновляющий лидер!
А ещё — в апреле День космонавтики. А где, как не в космосе, самые сплочённые команды?
Поэтому мы получили официальное разрешение от Роскосмоса на выступление действующего космонавта Дмитрия Петелина, а
наш VI Meet Up Фактор Лидера назвали:
“Вместе — хоть в космос! От команды звезд к звездной команде”.
Сегодня вечером мы ждём наших гостей.
Мест уже нет — SOLD OUT!
Если вам интересно принимать участие в наших митапах в будущем — ставьте + в комментариях или пишите в личку.
Будем рады расширять наше пространство доверия и развития.
#MeetUp
Просвирякова: Дневник Развития Бизнеса
В преддверии нашего 7-го #MeetUp в апреле хочется использовать по максимуму каждый день и заполнять свое окружение интересными и коммуникативными людьми 👥
Наверняка вы уже заметили, что моя главная ценность в людях, поэтому я отдаю много внимания своим коллегам, клиентам, качеству нашего общения.
И для вас стараюсь предлагать только проверенные контакты ✔️
В этот раз делюсь с вами полезными каналамина темы маркетинга, финансов, здоровья и психологии и т.д. Все, чем интересуюсь я сама!
Только проверенные авторы и польза здесь https://t.me/addlist/3rl5nspZWRU1YmQy📍