Когда разрабатываете свой 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
#CANNABIS
Il Parlamento israeliano ha approvato nella lettura preliminare una proposta di legge (presentata da Sharren Haskel, di New Hope) volta a riformare l’industria della cannabis medica, estendendo le possibilità di un suo utilizzo. Nello specifico, in assenza della maggioranza sufficiente per poter approvare una normativa finalizzata alla de-penalizzazione del suo utilizzo a scopo ricreativo, si ambisce a realizzare alcune innovazioni in materia: chi otterrà la licenza da parte del Ministero della Salute sarà legalmente autorizzato a coltivare, distribuire e possedere la cannabis a scopi medici.
Adesso, la proposta sarà sottoposta ad una Commissione parlamentare, che la preparerà per la prima lettura nello Knesset.
👉@giurisprudentia
🌿🇺🇸TRUMP FAST-TRACKS MEDICAL MARIJUANA RESCHEDULING
🔹 Executive order directs Attorney General to expedite rescheduling from dangerous Schedule I to Schedule III classification 📋⚡
🔹 Over $30,000 in criminal penalties reduced to civil fines for possession under 1 ounce 💰
🔹 $43,000 average savings per patient annually on medical cannabis costs with insurance coverage 💊💸
🔹 38 states already have medical programs — federal reform finally catching up to reality 🗺️
This policy shift could reshape American healthcare and criminal justice forever 🔥
#USNews#cannabis
✨ More breaking stories coming soon 🚀
@america
#Germania
❗️ Via libera del governo federale tedesco al documento con le linee guida sulla legalizzazione della #cannabis. Il piano, che deve ancora essere trasformato in proposta di legge e votato dal Parlamento, punta a regolare il consumo e la produzione di cannabis, depenalizzando anche l’uso personale ricreativo entro i 30 grammi
@UltimoraPolitics
Standard Wellness Secures $10M Funding
Standard Wellness has successfully raised $10 million in funding as of December 17, 2024. The company is dedicated to enhancing quality of life by providing safe and easy access to cannabis.
#Funding#Cannabis#Healthcare#QualityOfLife#Investment#StandardWellness#Capital#Access#Wellness#Health
Latest Funding Rounds News
Recent funding highlights include:
- Universal Matter: $20M raised on Dec 16, 2024. Visit
- InterCure: $18.20M on Dec 20, 2024. A leading cannabis company. Visit
- Atmo: $17.58M on Dec 20, 2024, developing AI-based meteorology systems. Visit
- Sitemate: $17.20M on Dec 23, 2024, simplifying industrial workflows. Visit
- Meddipay: $15M on Dec 17, 2024, in health and wellness payment facilitation. Visit
- SignalRank Corporation: $11.55M on Dec 21, 2024, focusing on private market investments. Visit
- Usual Labs: $10M on Dec 23, 2024, transforming tokenized assets into stablecoins. Visit
- Tracer Biotechnologies: $10M on Dec 12, 2024, innovating in ctDNA assays. Visit
- Stipple Bio: $9.48M on Dec 20, 2024, enhancing cellular profiling. Visit
- Mindgard: $8M on Dec 20, 2024, securing AI systems. Visit
#Funding#UniversalMatter#InterCure#Atmo#Sitemate#Meddipay#SignalRank#UsualLabs#TracerBiotechnologies#StippleBio#Mindgard#Cannabis#AI#Technology#Health#Wellness#Software#Investments#Startups#Finance#Innovation