Когда разрабатываете свой 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
#TouchDesigner, #TD
Моя мечта и цель создать инструмент для проектирования искусственных нервных схем подобно той которую можно увидеть в фильме "Ева: Искусственный разум". В фильме инженер по искусственному интеллекту используя придуманный шоураннерами редактор настройки ИИ, в основе которого граф вершины которого отражают различные психические качества и их настройки: любопытство, настойчивость, привязанность и т.д. Подобно этому в моём воображении формируется редактор в котором возможно настраивать различные области мозга и связи между ними: облсти коры, мозжечка, ментальная карта таламуса, центры потребностей и удовольствия. В поисках интерфейсных решений я наткнулся на TouchDesigner (TD), это программа для дизайнеров благодаря ей создаются различные крутые инсталляции, где требуйся динамика. Её особенность программирование с помощью специальных нод и организации связей между ними, внутри ноды может быть код или заранее подготовленный алгоритм. TD отвечает главному моему принципу - это визуализация и наглядность. Внутри каждой ноды есть отображение того, что происходит внутри неё. И конечно это работа в реалтайме, пришло врем решать задачи в реалтайме... Конечно, TD это не создан для задач машинного обучения, в нём есть некоторые ограничения для моей работы, но это будет некий прототип, где я отработаю некоторые механики. Здесь есть ноды GLSL, а значит быстрые вычисления на GPU, есть нода python и сила numpy. Во первых, я переношу некоторые свои алгоритмы в TD, пока только в начале. Это послужит началом и прообразом инструмента к которому я стремлюсь, таким же удобным и доступным как TD. Возможно сочетание с тем, что я делал в CogFLUX (https://belkinandrey.github.io/), базовые безусловные рефлексы возможно настроить на нейронах, а когнитивные вычисления на нодах более высокого порядка с заготовленными алгоритмами. Причем всё может работать совместно.
Под хэштегом #TouchDesigner и #TD буду выкладывать этот прогресс. Сейчас на видео самый простой алгоритм кластеризации из статьи https://habr.com/ru/articles/709350/
#Polonia#Sejm
Con 265 voti favorevoli e 193 contrari, Szymon #Hołownia (#TD/#Polska2050|RE) è stato eletto nuovo Presidente del Sejm (Camera bassa).
@OsservatorioEsteri
#Polonia
#KO|EPP|RE|G/EFA, #TD|RE|EPP e #Lewica|S&D hanno annunciato che presenteranno il leader di #PO|EPP Donald #Tusk come candidato a Primo Ministro.
@OsservatorioEsteri
🚀 Analyst Lance Vitanza Initiates Buy Ratings on Three Treasury Companies
Lance Vitanza from TD Cowen has initiated coverage on Nakamoto, SharpLink Gaming, and Strive with Buy ratings. According to NS3.AI, Vitanza has set price targets of $1, $16, and $26 for these companies, respectively. He suggests that these treasury firms have the potential to outperform spot crypto exchange-traded products, provided that cryptocurrency prices recover and the companies continue to increase their token holdings per share.
#LanceVitanza#TD Cowen #Nakamoto#SharpLinkGaming#Strive#BuyRating#TreasuryCompanies#Crypto#TokenHoldings#PriceTargets#BTC
#Polonia
È stata pubblicata la lista del Terzo governo di Donald #Tusk (#PO|EPP):
-Primo Ministro: Donald #Tusk (PO)
-Vicepremier e Ministro della Difesa Władysław #KosiniakKamysz (#TD/#PSL|EPP);
-Vicepremier e Ministro della Digitalizzazione: Krzysztof #Gawkowski (#Lewica/#NL|S&D);
-Ministro della Giustizia: Adam #Bodnar (#KO|EPP|RE|G/EFA);
-Ministro degli Esteri: Radosław #Sikorski (PO);
-Ministro degli Interni: Marcin #Kierwiński (PO);
-Ministra per la Società Civile: Agnieszka #Buczyńska (TD/#Polska2050|RE);
-Ministro delle FInanze: Andrzej #Domański (PO);
-Ministro del Patrimonio Statale: Borys #Budka (PO);
-Ministra dell'Industria: Marzena #Czarnecka;
-Ministra della Famiglia, del Lavoro e delle Politiche Sociali: Agnieszka #DziemianowiczBąk (Lewica/NL);
-Ministra del Clima e dell'Ambiente: Paulina #HennigKloska (TD/Polska2050);
-Ministro dello Sviluppo e della Tecnologia: Krzysztof #Hetman (TD/PSL);
-Ministro delle Infrastrutture: Dariusz #Klimczak (TD/PSL);
-Ministra dell'Uguaglianza: Katarzyna #Kotula (Lewica/NL);
-Ministra della Salute: Izabela #Leszczyna (PO);
-Ministra dell'Istruzione: Barbara #Nowacka (#iPL|RE);
-Ministro dello Sport: Sławomir #Nitras (PO);
-Ministra degli Anziani: Marzena #OkłaDrewnowicz (PO);
-Ministra dei Fondi e delle Politiche Regionali: Katarzyna #PełczyńskaNałęcz (TD/Polska2050);
-Ministro dell'Agricoltura: Czesław #Siekierski (TD/PSL);
-Ministro della Cultura: Bartłomiej #Sienkiewicz (PO);
-Ministro degli Affari Europei: Adam #Szłapka (#N|RE);
-Ministro della Scienza: Dariusz #Wieczorek (Lewica/NL);
-Ministro degli Affari Legislativi: Maciej #Berek;
-Cancelliere presso l'Ufficio del Primo Ministro: Jan #Grabiec (PO);
-Coordinatore dei Servizi di Sicurezza: Tomasz #Siemoniak (PO).
@OsservatorioEsteri