Когда разрабатываете свой 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
🪂Airdrop ~ Shiba Inu (SHIB)
💲Reward: 150 Million #Shiba inu
💎 Presents Ratings: ⭐️⭐️⭐️
👑Winners: 1,000 Lucky winners
➡️ Airdrop Page For Coingabbar
📚 How to Join Airdrop?
↪️ Signup at Coingabbar & Verify your Email to get 100k Cubs
↪️ Submit earned cubs for conversation, (1 Cub = 2 SHIB)
Earn More Cubs
Download the Android App/ IOS App
✏️Notes: Make sure to complete all tasks to receive rewards.
ℹ️Distribution date: Will be announced by the project team after 28t-h January.
Look at #SHIBA now! 💰🔥
Went from2,590%to 4,135%, that's 1,545% extra profit just by holding it a bit more
A nice 41X return from this single Signal⭐
🔸$50 would return $2,060💸
💰$50 would return $1,375💸
Enjoy 4,100% profit🆙. 🤝Congratulations allPremium Members. Now imagine if you followed the rest of the signals.. 🤑💯
We keep printing money, day after day 💯
Don't miss out - join us and start sending those gains to your bank 👇
@Kevindexter✅
💰#SHIBA just smashed
2️⃣
5️⃣
🔠gains!Another big win, no surprise there 😌
It's business as usual - every day, like clockwork, we are in the fast lane, leaving the competition eating our dust 💰💸
We keep printing money, day after day 💯
Don't miss out - join us and start sending those gains to your bank 👇
@Kevindexter✅
🐶 .Shizarium is getting ready for hardcore with a new version of Bor.
🧡The update will add a burning mechanism: 70% of the base fees will be converted into $SHIB tokens and removed from circulation, which may increase their price. The rest of the fees will be used to develop the ecosystem.
💡 And also announced the launch of #Shiba Eternity #Web3.
#SHIBA INU eBAY || THIS COMPANY ACCEPT CRYPTO || GET READY ✌🏻
#cryptogemtokenshttps://cryptogemtokens.com/shiba-inu-ebay-this-company-accept-crypto-get-ready-%e2%9c%8c%f0%9f%8f%bb/
The Perfect Shiba Inu — 中号
Introducing Naka Go, the foundational dog behind this breed’s revival.
$NAKA
CA (Ethereum):
0x956220463DE0e1d7E3D5Da4ab1f8cA15E1e0aB0B
#NAKA#SHIBA#ETH#TSLA#TESLACALLS🐕🚀
💰Bullish on #TRUMP
Short term : $21 - $27
Long term : $48 - $79
The main character of meme world this stage.
If you missed
#Doge 2020 💰/ #Shiba 2021 💰/
#Bonk 2023 💰/ #Pepe 2024 💰,
you are going to miss #Trump 2025 💰
🥸 Above is a 10-year chart of significant #altcoins and the number of non-empty wallets (#hodlers) in the corresponding networks: #Litecoin: 8.08M wallets #Dogecoin: 6.69M wallets #XRP Ledger: 5.24M Wallets #Cardano: 4.48M Wallets #Shiba Inu: 1.39M wallets #Chainlink: 722K wallets
Данные от Santiment: 10 крупнейших кошельков удерживают значительные доли в крупнейших альткоинах, что подчеркивает проблему централизации в крипте:
#Polygon (MATIC): 69.4%
#Shiba Inu (SHIB): 61.2%
#Uniswap (UNI): 50.8%
#Pepe (PEPE): 46.1%
#Ethereum (ETH): 44.0%
#Tether (USDT): 33.1%
#Chainlink (LINK): 31.1%
#Toncoin (TON): 27.5%
#Multi Collateral Dai (DAI): 24.5%
#USD Coin (USDC): 19.0%
💬Мнение : Такая концентрация может повлиять на рынок, так как несколько крупных игроков могут существенно влиять на цену и ликвидность этих активов.
#КриптоНовости#обзоррынка