Когда разрабатываете свой 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
🏔️International Mountain Day
🗓Today, we celebrate International Mountain Day — a reminder of the incredible role mountains play in our lives. They provide fresh water, protect unique ecosystems, and inspire millions around the world.
🌱Let’s raise awareness, appreciate nature, and work together to preserve these powerful landscapes for future generations.
#InternationalMountainDay#SustainableFuture#GreenUniversity#YouthForNature#EcoAwareness
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube
🌿 March 3 – World Wildlife Day 🌿
Today we celebrate World Wildlife Day, raising awareness about the importance of protecting wildlife and preserving biodiversity. 🌏 On December 20, 2013, the United Nations officially declared March 3 as World Wildlife Day. This year also marks the 40th anniversary of the 1973 Convention on International Trade in Endangered Species of Wild Fauna and Flora (CITES).
Wildlife has ecological, genetic, social, economic, scientific, cultural, and aesthetic value. That’s why people often seek the peace of wild nature away from noisy cities. 🌲🦉
Our great scholars emphasized respecting nature and maintaining balance:
Muḥammad Muso Khorezmi: “Know that if the eyes of the river weep, sorrow will fall upon it.”
Abu Nasr Farabi: insights on human body, nutrition, and diseases.
Abu Rayhan Beruni: studies on plants and animals, their biological traits and economic importance.
Avicenna (Ibn Sina): advice on health, hygiene, diet, and natural remedies.
❗️ Human impact on wildlife:
1️⃣ Deforestation and habitat loss – ~10 million hectares of forest are lost globally each year.
2️⃣ Extinction of species – over 1 million animal and plant species are at risk.
3️⃣ Air, water, and soil pollution – over 50% of coral reefs degraded; 75% of the Earth’s land affected by climate change and human activity.
4️⃣ Illegal wildlife hunting and trade – threatens more than 2,200 species.
Each of us is responsible for protecting nature, avoiding pollution, and passing it on intact to future generations! 💚🌿
#WorldWildlifeDay#ProtectNature#Biodiversity#WildlifeConservation#EcoAwareness
Green University Hosts Meeting with School Students
⏺As part of the republican stage of the nationwide competition “Do You Know Environmental Laws?”, Green University hosted a meeting with school students from across Uzbekistan.
🗣During the visit, the students met with the Rector of Green University, Dr. Bakhtiyor Pulatov, and other university representatives. The Rector introduced the students to the university’s activities and educational programs, and highlighted the growing importance of environmental protection and climate action.
🟢The meeting served as an important platform for students to exchange ideas and deepen their understanding of environmental responsibility.
#GreenUniversity#YouthForEnvironment#EcoAwareness#Uzbekistan2030 ___________________
Green University maktab o‘quvchilari bilan uchrashuv o‘tkazdi
⏺“Siz ekologiyaga oid qonunlarni bilasizmi?” respublika ko‘rik-tanlovining respublika bosqichi doirasida Green University O‘zbekistonning turli hududlaridan kelgan maktab o‘quvchilari bilan uchrashuv o‘tkazdi.
🗣Tashrif davomida o‘quvchilar Green University rektori, professor Baxtiyor Po‘latov hamda universitet vakillari bilan uchrashdilar. Rektor o‘quvchilarga universitet faoliyati va ta’lim dasturlari haqida ma’lumot berib, bugungi kunda atrof-muhitni muhofaza qilish va iqlim o‘zgarishiga qarshi kurashish masalalarining tobora ortib borayotgan ahamiyati haqida so‘z yuritdi.
🟢Uchrashuv o‘quvchilar uchun fikr almashish, ekologik masalalar bo‘yicha bilimlarini kengaytirish hamda ekologik mas’uliyatni yanada mustahkamlash uchun muhim platforma bo‘lib xizmat qildi.
#GreenUniversity#EkologikTa’lim #YoshlarVaEkologiya#Uzbekistan2030
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube