Когда разрабатываете свой 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
r/ #unexpected
Самое ХОЛОДНОЕ место на Земле — новое видео с южного полюса Антарктиды
Температура здесь может опускаться ниже -60 градусов цельсия. Вокруг бесконечная белая пустота, полгода длится день, а затем полгода будет тьма и туман. Никаких деревьев, насекомых и привычной жизни — только лёд, ветер и абсолютная тишина.
Это одно из самых сухих мест на планете, настоящая ледяная пустыня. Всё необходимое для жизни доставляется по воздуху, а небольшие команды зимуют здесь в полной изоляции месяцами.
r/ #unexpected
Вот вам и будущее с искусственным интеллектом: на одной из улиц Сан-Франциско беспилотник угодил в автобус
Иронично, что именно в этот момент проходили парни с конференции по нейросетям и автоматизации.
Они сначала расцепили беспилотник с автобусом, а потом поправили баг, добравшись до режима разработчика у Waymo.
r/ #unexpected
Так выглядит один из бюджетных компьютерных клубов в столице Филиппин — ПК стоят буквально на улице в трущобах, вокруг грязь и мусор
При этом посетители почти не играют: вместо этого смотрят YouTube и листают соцсети.
r/ #unexpected
Неловко вышло: Иран похвастался своей робототехникой на выставке Kish Inox Tech Expo 2025, но есть нюанс — настоящих роботов там не было
Вместо киборгов были актёры в костюмах, которые выдавали себя за машины.
r/ #unexpected
Вот и будущее наступило: Coca-Cola частично заменит дизайнеров и копирайтеров нейросетями
Это первая компания, официально огласившая партнёрство с искусственным интеллектом.
Для поиска дизайнерских решений будут использовать DALL-E, а для написания необычных рекламных лозунгов — ChatGPT.
r/ #unexpected
Вы точно не собирались плакать на этих выходных: на Reddit вспомнили отрывок из документального фильма 2007 года «Встречи на краю света» Вернера Херцога про «одинокого пингвина-нигилиста»
Пингвин внезапно покидает колонию и уходит вглубь Антарктиды, в сторону гор, примерно на 70 километров, где его почти наверняка ждёт смерть. Учёные так и не смогли однозначно объяснить это поведение: одни считают, что животное осознанно шло навстречу концу, другие — что он искал утраченную пару.
Сейчас пользователи превратили эпизод в символ мотивации и экзистенциального выбора. Поступок пингвина интерпретируют как отказ от инстинкта, попытку принять абсурд существования и стремление вырваться из заданного пути.
r/ #unexpected
Безумец дня: парень в Твиттере нашёл, где живёт девушка, по фотографии её руки на траве
Сначала он определил, в каком штате может быть такая трава относительно климата. Угол падения тени от руки помог подтвердить догадку – это оказалось Огайо.
Затем по влажности всё той же травы, выяснил, в каких областях штата шли дожди в период съёмки. А по стилю одежды понял, что это должен быть небольшой городок.
Он пришёл к выводу, что фото сделано в Спрингфилде. После чего изучил парковые территории города и нашёл дом девушки, а также узнал имя по данным её автомобиля.
The Moment He Became John Doe 🤯#shorts#johndoestory#JohnDoe#identity#transformation#baseball#storytime#mystery#drama#classic#character#unexpected#cinema
https://pdmovies.substack.com/p/frank-capras-meet-john-doe-1941