Когда разрабатываете свой 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
⏺#FLOKI is trying to break up the bullish flag pattern on Daily time frame, after breakout and retest we expect another pump 🚀
❄️@signals_bitcoin_crypto❄️
❄️@Shadow_support0o❄️
⏺#FLOKI appears to have developed a cup and handle pattern, a technically bullish formation. 🐋
💫A strong confirmation of bullish sentiment would be achieved through a decisive breakout above the designated horizontal resistance. Conversely, a rejection at this level could signal an impending correction.
❄️@signals_bitcoin_crypto❄️
❄️@Shadow_support0o❄️
Stake and Earn with FLOKI!
Users can now stake their $FLOKI tokens, and earn $TOKEN, with TokenPocket!
👉https://staking.floki.com
Easy Access: #Floki Staking is now integrated with the TokenPocket wallet, and you can find it on the Trending DApp List on the Ethereum network.
👉 Learn More: https://tokenpocket.pro
We are excited to announce our latest strategic partnership with Floki 🔥
What started as a meme has developed into an industry-leading utility project. Floki's innovative ecosystem offers a 3D NFT Metaverse, DeFi utilities, a crypto education platform, NFTs, a merchandise store, and more.
As part of this partnership, we have purchased $5 million worth of FLOKI tokens from the Floki Treasury. We believe that this partnership will drive the acceleration of Floki adoption in institutional circles and unlock greater growth of this innovative ecosystem.
We're looking forward to your continuous success in this space! 🫡
The future is #Floki! ✨
Find out more here.
Opened a short #FLOKI.
The asset tested $0.000326976, but was unable to go above it, after which market participants actively fixed positions, and pressure from sellers began.
The bears pushed the price and thereby broke through the ascending channel into shorts, with subsequent consolidation under it. Most likely this is not the end of the corrective movement and the coin will show a further decline.
Trading volumes have fallen sharply, which means buyers are looking for more profitable entry points and are not yet ready to take on positions. I assume the price will move to the area of $0.000128717 - $0.000138660.
Goals: $0.000156924 - $0.000148628 - $0.000138660.
Stop: 0.000182642$