Когда разрабатываете свой 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
#FETUSDT
The price is moving inside a triangle and the price is heavily accumulated and we expect the downward trendline and the triangle to break upwards. If it breaks, we can expect a good rise.
#FETUSDT has reached 9th TP in the VIP HTL signals channel!👍
$304 in profits with a 5% entry and a $1000 deposit!
That's why we call it the "Money Printer" 💴💷💵ACCESS TO MANUAL TRADING for 70usdt/month
💪Rule the market with Propheta AI Signals: ultra-sharp alerts, full-on process automation, and a killer Cornix synergy — your fast track to max profits! GET THE ACCESS TO AI SIGNALS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#bitcoin#buybtc#btc
#FETUSDT has just reached 9th TP in the VIP HTL channel!!!👍
Using a 5% entry you could've earned $303 with a $1000 deposit
Feels good to be a Propheta VIP, man... 🏖ACCESS TO MANUAL TRADING for 70usdt/month
💰Turn data into gains with Propheta AI Analyzer: deep AI analysis spots trends with surgical precision, tweaks in seconds to your goals, and pair hunting pumps your trading to the next level — this is the evolution of the game! GET THE ACCESS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#AItrading#eth#trading
👍 This is why we're here!
#FETUSDT has just reached 9th TP in the VIP HTL channel!!!👍
You could've earned $304 with a 5% entry and a $1000 deposit!
Feels good to be a Propheta VIP, man... 🏖ACCESS TO MANUAL TRADING for 70usdt/month
📊Dominate the market with Propheta AI Analyzer: AI uncovers hidden patterns with razor-sharp analysis, adapts on the fly with slick customization, and delivers next-level pair hunting — your edge for strategic supremacy! GET THE ACCESS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#autotrading#buybtc#tradingindicator
👍 This is why we're here!
#FETUSDT has achieved 9th TP in 6 hours in our VIP HTL channel!
$303 in profits with a 5% entry and a $1000 deposit!
Every day we're on fire! 🔥🔥🔥ACCESS TO MANUAL TRADING for 70usdt/month
💸Turn time into cash with Propheta AI Signals: pinpoint entries and exits, AI-powered automation, and perfect Cornix compatibility — your automated win streak! GET THE ACCESS TO AI SIGNALS
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#buybtc#btc#signalchannel
👆 Propheta living up to its name yet again 🔮
#FETUSDT has achieved 9th TP in our VIP CLUB channel!
Using a 5% entry you could've earned $455 with a $1000 deposit
VIPs getting filthy rich by the day ☺️🤑🤑ACCESS TO MANUAL TRADING for 70usdt/month
👉 We ain't only bragging about those profits, we're publishing the most transparent performance reports you can personally audit!
Come and see for yourself: @propheta_reports
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#cryptobot#CryptoSignal#eth
Now that's trading 👆🔥🔥🔥
#FETUSDT has achieved 9th TP in our VIP HTL channel!
You could've earned $307 with a 5% entry and a $1000 deposit!
Feels good to be a Propheta VIP, man... 🏖ACCESS TO MANUAL TRADING for 70usdt/month
👉 Did you know that our referral partners receive extra discounts, even cumulative with the special offer prices?
START >>> Referral Program
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#bitcoinnews#buyeth#AItrader
👍 This is why we're here!
#FETUSDT has just reached 9th TP in the VIP CLUB channel!!!
Trade took just 23 hours! 👍
With a 5% entry and a $1000 deposit, you could've earned $455!
VIPs getting filthy rich by the day ☺️🤑🤑ACCESS TO MANUAL TRADING for 70usdt/month
👉 We ain't just showing our results, we can show you the results of our VIP subscribers as well! Check them out: @propheta_reviews
Register and get bonuses up to $6,000
Binance | OKX | ByBit👈🏻click!
#eth#cryptoexchange#cryptonews
🚨Candlestick Patterns Detected:
🔨Hammer on #CAKEUSDT (4h)
🔨Hammer on #ASTERUSDT (4h)
====================
⭐Shooting Star on #BTCUSDT (4h)
⭐Shooting Star on #TAOUSDT (4h)
⭐Shooting Star on #2ZUSDT (4h)
⭐Shooting Star on #DOGEUSDT (4h)
⭐Shooting Star on #YBUSDT (4h)
⭐Shooting Star on #FETUSDT (4h)
====================
⚠️Marubozu Bearish on #USDCUSDT (4h)
====================
🚀Marubozu Bullish on #PAXGUSDT (4h)
====================