Когда разрабатываете свой 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
⚡️Buckle up for $CGPTrewards!
📅 Starting: April 11th, at 2PM (UTC)
⚙️ Staking rewards in $CGPT
⚙️ DAO voting power
⚙️ Early access to utilities
⚙️ More TBA!
Prepare your $CGPT tokens and join us tomorrow for the #staking launch event. #ChainGPT
⚡️Storm Trade, a Top DeFi Product, Ready to Launch Its Token
The crypto market is currently going through a phase change: we see a shift in sentiment from memecoins to fundamental projects. Traders are less active in flying into no-name tokens that do not have strong products behind them.
The latest launches of the TON ecosystem are not encouraging, the release of $HMSTR showed how quickly the situation on the market can change, bringing the end of the tap2earn era closer.
And while clickers were taking money from the retail users, the development of DeFi projects continued. In the last 12 months, Perp DEXs have taken center stage in the web3 world. Derivatives trading volumes significantly exceed spot, by 2-10 times, and this figure continues to grow. New players are emerging.
⚡️ChainGPT IDO Starts October 14th
IDO is taking place on the #ChainGPT launchpad, and the premarket on the TON network and on #MagicSquare confidently shows x3 from the initial presale price, which hints at buy pressure and a positive community mood. Only about 4% of the token will be allocated for the IDO.
You already know that $STORM stakers will receive 30% of protocol fees, discounts on fees and additional goodies in the form of #DAO. And the token itself will participate in the liquidity buffer, participating in the constant buyback from the market.
The ChainGPT IDO starts on October 14th, which means the listing will happen very soon, usually within a few days.
In numbers:
⚡️Storm Trade generates from $5M to $40M per day
⚡️The platform rewards liquidity providers with most of the commissions
⚡️4M+ connected wallets
What potential profit awaits holders?
Let's look at an example: over the last 30 days, the platform has collected about $800k in fees (source: DefiLlama), which means that token stakers would have received ~$240k. According to tokenomics and unlocks, only about 20-30M tokens will be available for staking after the launch, and we get ~100% APR for the token price for the IDO. This is without taking into account the rate growth.
While we watch how tapalki are launched and fade away, #StormTrade makes a real product that is already in a popular market segment, and the share of perps continues to grow.
#DYOR and get ready to start:
https://storm.tg/token
#IDO#DEX#Perp#Web3#TON