Когда разрабатываете свой 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
#yuksalish
🇺🇿Axborot va ommaviy kommunikasiyalar agentligi BMTning O‘zbekistondagi vakolatxonalari bilan hamkorlikda «Orolga hayot bag‘ishla» mavzusida xalqaro onlayn-konferensiyasida Yoshlar ishlari agentligi direktori o'rinbosari ishtiroki uchun tayyorlangan prezentatsiya dizayni
@ik_design👈
🌱Toshkentda ko'chat ekish aksiyasi o'tkaziladi
"Bir million daraxt"loyihasi doirasida “Summit Motors Central Asia” XK MCHJ hamkorligida ekologiyani yaxshilash, hududlarni ko‘kalamzorlashtirish va ijtimoiy mas’uliyatni oshirish maqsadida Toshkent shahrida ko‘chat ekish tadbiri o‘tkaziladi.
Barchani ushbu ezgu tashabbusda faol ishtirok etishga chorlaymiz!
Joyi: Millatlararo munosabatlar qo'mitasi hududi
Vaqti: 28-mart 11:00
#Yuksalish#BirMillionDaraxt
📝 Telegram sahifamizga obuna bo'ling - @uzbyuksalish
#yuksalish#maqsad#natija
⚡Bugun shogirdim Boymurod Yunusov bilan yangi dizayn o'rgandik, o'ziga yarasha mehnati bor, lekin tushungan odam zavqlanib ishlaydi.
@ik_design👈👉@isakovxusniddin
Memorandum Signed Between Green University and “Yuksalish” Movement
Within the framework of the Central Asian Forum of Ecologists and Eco-Activists, a Memorandum of Understanding was signed between Green University and “Yuksalish” Movement.
💬The document outlines cooperation in organizing environmental forums, conducting sociological and environmental surveys, supporting innovative startups, and engaging students in volunteer activities.
💬The parties also agreed to expand collaboration through joint research, as well as seminars and conferences.
#GreenUniversity#Yuksalish#MemorandumOfUnderstanding#EcoForum#EnvironmentalProtection#Cooperation
👉ReadMore ________________
Green University va “Yuksalish” Harakati o‘rtasida memorandum imzolandi
Markaziy Osiyo ekologlari va eko-faollari forumi doirasida Green бUniversity va “Yuksalish” Harakati o‘rtasida O‘zaro anglashuv memorandumi imzolandi.
💬Mazkur hujjat ekologlar forumlarini tashkil etish, sotsiologik va ekologik so‘rovlar o‘tkazish, innovatsion startaplarni qo‘llab-quvvatlash hamda talabalarni volontyorlik faoliyatiga jalb etishni nazarda tutadi.
💬Shuningdek, tomonlar qo‘shma ilmiy tadqiqotlar, seminarlar va konferensiyalar orqali hamkorlikni kengaytirishga kelishib oldi.
#GreenUniversity#Yuksalish#Memorandum#EcoForum#AtrofMuhit#Hamkorlik
👉Batafsil
✉️[email protected]
☎️ +998 55 512 00 77
📍Location
🌐Website | 📱Telegram | 📱Instagram | 📱LinkedIn | 🟥YouTube
Bilasizmi?
UNICEFda faoliyat yuritganman va hozir shu haqida sizga qisqa aytib beraman.
Nogironligi bo‘lgan qizlar, o‘g‘il bolalar va yoshlarni mahalliy rejalashtirishga yanada mazmunli jalb qilish mumkin – #UNICEFdagi avvalgi lavozimimda men beshta tajriba kuzatuvidagi shaharlarni qisqa vaqt ichida erishgan ulkan yutuqlari bilan chin qalbimdan tabriklayman! 👏
#YUNISEF va #Yuksalish umumxalq harakatining #Yoshlar va_bolaga_doʻst_mahalliy_boshqaruv tashabbusining yakuniy tadbirida tajriba shaharlari - #Boʻston, #Qoʻqon, #Termiz, #Yangibozor va #Zarafshon – yangi IT markazlari, bolalar uchun yoʻl xavfsizligini yaxshilash kabi ajoyib natijalarni taqdim etdi.
😎Instagram.😎Hayotalks
😎Telegram📱Khayotullo
🇺🇿🤝🇮🇹Президент Узбекистана на саммите «Центральная Азия – Италия»: стратегические акценты
Президент Шавкат Мирзиёев принял участие в первом регионально-европейском саммите в Астане и обозначил приоритеты узбекской внешнеэкономической и гуманитарной повестки:
🔹 Поддержка дипломатических усилий по мирному урегулированию конфликта на Украине
🔹 Совпадение позиций по Афганистану и ближневосточным вопросам
🔹 Инициатива по запуску механизмов обмена информацией между спецслужбами
🔹 Создание бизнес-платформы «ЦА – Италия» и привлечение итальянских институтов SACE и SIMEST
🔹 Развитие промышленной кооперации, трансфера технологий и инновационных производств
🔹 Углубление сотрудничества в области «зелёной» энергетики и водородных решений
🔹 Учреждение научно-образовательного консорциума и проведение форума креативной экономики в Хиве
🌱Как независимый эксперт международного движения Yuksalish, отмечаю в качестве примера эффективного партнёрства — проект по выращиванию и экспорту шафрана.
Это один из немногих кейсов, где локальная агросфера успешно интегрирована в международную производственно-экспортную цепочку с участием итальянских партнёров.
📌 Саммит в Астане продемонстрировал: между Центральной Азией и Италией формируется устойчивая архитектура партнёрства — от безопасности и инвестиций до науки, экологии и креативной экономики.
#CAItalySummit#Mirziyoyev#Uzbekistan#Italy#Diplomacy#Ororosso#BMBZafaron#Saffron#Yuksalish#Geoeconomics#ЯнгиЎзбекистон
@bahodir_schastlivchik