Когда разрабатываете свой 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
🌎 Floating solar farms are expanding worldwide, providing renewable energy while helping reduce water evaporation from reservoirs. These solar panels are mounted on platforms that float on lakes and reservoirs, increasing power output by 10-15% due to cooler operating temperatures on water. ✨
#solarenergy⚡#cleantech⚡#ecology
👉subscribe Interesting Planet
🎓 Международная конференция “Чистые технологии в химической индустрии: наука, опыт, перспективы”
14- октября АО «Узкимесаноат» совместно с Агентством Инновационного развития Республики Узбекистан провели международную конференцию, которая объединила ведущих учёных России, Узбекистана, Кореи и других стран, где обсуждались актуальные направления развития чистой химической технологии и зелёной энергетики.
💡 В ходе пленарных сессий прозвучали доклады, охватывающие широкий спектр современных исследований:
• Разработка микробиологических биотехнологий для химической промышленности Узбекистана — новые подходы к биоочистке и переработке органического сырья;
• Инновационные материалы для систем хранения энергии и водородной энергетики — исследования российских учёных РХТУ им. Д.И. Менделеева;
• Современные углеродные материалы на основе нефтяных остатков — технологии Корейского института химических технологий (KRICT);
• Извлечение лития из водных источников Узбекистана с использованием углеродных нанотрубок — разработки отечественных химиков;
• Экологический баланс при использовании химических добавок для бетона — новые решения для строительной отрасли;
• Катализаторы нового поколения для производства зелёного водорода — исследования Центра передовых технологий Узбекистана.
Особый акцент был сделан на перспективах сотрудничества научных институтов и промышленности, а также вовлечении молодых исследователей в будущие конференции — с возможностью представления стендовых докладов и постерных сессий.
🤝 Участники отметили высокий уровень организации и выразили готовность к развитию совместных проектов в области чистой химии, устойчивой энергетики и материалов будущего.
#РХТУ#Менделеев#Uzbekistan#CleanTech#GreenHydrogen#Conference#Innovation#Science#Tashkent
$14.59M for Air Mobility Project
$14.59 million funding round for Vaeridion aims to enhance clean and affordable air mobility solutions before 2030. Details at Vaeridion.
#Funding#AirMobility#CleanTech#Vaeridion#Sustainability#Aviation#Innovation#Transport#Investment#FutureMobility
🚀 Chinese Battery Manufacturer Anticipates Profit Surge Amid Rising Overseas Demand
A leading Chinese battery storage manufacturer has projected a significant increase in first-quarter profits, driven by a surge in overseas demand. Bloomberg posted on X that this development highlights the potential benefits for China's clean tech exporters amid energy disruptions linked to the ongoing conflict in Iran. The company attributes the anticipated profit growth to heightened international interest in its products, reflecting a broader trend of increased global reliance on clean energy solutions.
#ChineseBatteryManufacturer#ProfitSurge#OverseasDemand#CleanTech#EnergyDisruptions#GlobalReliance#CleanEnergySolutions#ChinaExport#IranConflict
Ecovia Renewables Secures $2.05M
Ecovia Renewables has raised $2.05 million for the production of biobased ingredients and materials, promising efficient and cost-effective solutions in the industry. This funding round took place on December 17, 2024.
#EcoviaRenewables#Funding#Biobased#Ingredients#Materials#Production#Sustainability#RenewableEnergy#CleanTech#Innovation#EcoFriendly#Investment#Startups#Environment#Green#Tech#VentureCapital#Market#Economy#Efficiency
Accelergen Energy Raises $20M
Accelergen Energy has secured $20 million in funding as of December 19, 2024. The firm focuses on delivering clean power assets characterized by robust and sustainable locational value through strategic investments, development, commercialization, and optimized operations. For more details, visit Accelergen Energy.
#Accelergen#Energy#Funding#CleanPower#Investment#Sustainability#RenewableEnergy#Development#Commercialization#Operations#ClimateTech#GreenEnergy#Ecosystem#Infrastructure#PowerAssets#Technology#StrategicInvestment#CleanTech#EcoFriendly#LocationalValue