Когда разрабатываете свой 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
A newly created wallet received 55,175 $ETH worth $113.62M from #Galaxy Digital.
Address: 0x75541d3C4c2b2Fbf7244AB6D99141849dbc4533D
https://x.com/OnchainLens/status/2037322469531680869
Follow @onchainlens for more onchain updates
A whale/institution bought 215,056 $HYPE worth $6.06M via #Galaxy Digital OTC.
The wallet now holds 540,337 $HYPE worth $14.86M, accumulated over the past 18 days.
Address: 0x76d43a75e180ffc6c2346c78716700c81a546045
https://x.com/OnchainLens/status/2027551839810727996
Follow @onchainlens for more onchain updates
The whale "0xd4d" has further received 445,000 $HYPE ($14.87M) from #Galaxy Digital OTC and likely to stake. In total, the whale has received 910,000 $HYPE, ($25.43M), from #Galaxy Digital OTC, of which 465,000 $HYPE ($15.73M) has been sent for staking. …
Arthur Hayes @CryptoHayes made additional purchases from #Galaxy Digital:
- 4,857,771 $ENA ($987.12K)
- 697,851 $ETHFI ($484.28K)
Address: 0x6cd66DbdFe289ab83d7311B668ADA83A12447e21
https://x.com/OnchainLens/status/2006291529900712181
Follow @onchainlens for more onchain updates
СЕГОДНЯ НА YOUTUBE-КАНАЛЕ 🎥
Полный ролик основного заезда с амбассадорами MCF фестиваля #GALAXY👨🚀
Ну, это огонь, друзья!!!🔥 Ещё раз прочувствовать атмосферу неземной сайкл-тусовки — это за гранью фантастики 🤩
Подписывайся и не пропускай пушечные мини-фильмы, снятые неповторимым @alekseylepikhin 😎
🔗перейти на канал
INFERNO COMING SOON…
КОСМИЧЕСКИЙ ПОДАРОК 🎁
В честь дня астрологии и безграничной любви к сайклу 🚴♀️
Участников, которые уже купили билет на любой заезд MCF #GALAXY, мы приглашаем открутить INFERNO
🔥СО СКИДКОЙ 1500₽ 🔥
*оставляй 🔥 в комментариях и мы вышлем тебе промокод
МЕЧТАЕШЬ КРУТИТЬ КАК АМБАССАДОРЫ MCF?😎
Тогда тебе непременно нужно пройти обучение у нашего @yudintsevivan👍
❗️курсы подходят как для новичков, так и для действующих тренеров по сайклу
НАШИ УЧЕНИКИ:
▪️видят на своих тренировках только полную посадку
▪️грамотно вовлекают в тренировочный процесс абсолютно каждого клиента
▪️знают тренды и новинки в мире сайкла
▪️умеют правильно составлять план тренировок
▪️получают приглашения в различные клубы города
BEGINNER. CLASSIC CYCLE (NEW CYCLE)
▪️3,4,5 ФЕВРАЛЯ (оффлайн)
➕месяц онлайн обучения
ADVANCE. EMOTIONAL CYCLE (SOUL CYCLE)
▪️24,25,26 ФЕВРАЛЯ (оффлайн)
➕месяц онлайн обучение
ПО ОКОНЧАНИЮ ОБУЧЕНИЯ СДАЁТСЯ ЭКЗАМЕН❗️
Стоимость 25.000₽
При оплате в январе билет на Music Cycle Festival #GALAXY 1.04.2023 в подарок 🎁
На все вопросы, касаемо курсов, с удовольствием ответит @yudintsevivan🙋🏼
НЕ УПУСТИ ШАНС СТАТЬ ЛУЧШИМ😎
Покажи это сообщение своему менеджеру групповых программ.
Начинай Новый год 2023 с новыми знаниями 🫶
Today Chandra is studying the gargantuan #galaxy cluster Abell 2744. Galaxy clusters contain enormous amounts of superheated gas at temperatures of tens of millions of degrees — which glows brightly in X-ray light — and can be observed across millions of light years between galaxies. This image of the cluster spans roughly 6 million light years.
Chandra is studying the gargantuan #galaxy cluster Abell 2744. Galaxy clusters contain enormous amounts of superheated gas at temperatures of tens of millions of degrees — which glows brightly in X-ray light — and can be observed across millions of light years between galaxies. This image of the cluster spans roughly 6 million light years.
✨ Airdrop DataHaven – Early Moose Campaign & 50% of total supply is reserved for the community
👉 Complete Become an Early Moose task :- https://app.galxe.com/quest/NV3497bgTBJECoUYoRc5PU/GCMj9tfkbH
👉 Complete Early access task :- https://app.galxe.com/quest/NV3497bgTBJECoUYoRc5PU/GCreBtm5Sq
➖ Complete tasks to claim the Early Moose role
➖ Prove you're part of the early community
👉 You can see here $HAVE Tokenomics :- https://datahaven.xyz/tokenomics/
#Note :- Don't skip just complete #Galaxy tasks to get Airdrop allocations hurry up before end