Когда разрабатываете свой 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
#REN/USDT analysis :
#REN is currently consolidating within support and resistance zones. The price has rejected from the 200 EMA and is now expected to test the previous swing low support levels. For a short entry, it is advisable to wait for a pullback to the 200 EMA.
TF : 4H
Entry : $0.03791
Target : $0.03328
SL : $0.04056
#REN/USDT analysis :
#REN is currently consolidating near a resistance zone. The price is facing difficulty in breaking the resistance zone upside. Wait for the price to break the $0.0360 level for a confirmed entry. Previous lows will be the target level.
TF : 4H
Entry : $0.0360
Target : $0.0294
SL : $0.0401
#REN/USDT analysis -
#REN is consolidating sideways in a correction phase within a downtrend. The price is currently facing rejection in the resistance zone. There is a high probability that the price will continue its bearish momentum and decline from there to test the support zone.
TF : 2h
Entry : $0.0486
Target : $0.0446
SL : $0.0506
Amazon планирует использовать ИИ для ускорения процессов производства фильмов и сериалов. Проект студии с искусственным интеллектом направлен на сокращение расходов и упрощение творческого процесса.
Знаю один российский федеральный телеканал, который ещё 2 года назад запустил такую студию.
#REN
#REN is retesting the broken falling wedge pattern on Weekly Time frame,we need bullish momentum to decide to buy💎
❄️@signals_bitcoin_crypto❄️
❄️@Shadow_support0o❄️