Когда разрабатываете свой 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
Talabalarimiz tomonidan loyihalar ko'rgazmasi o'tkazildi
👩💻 Raqamli texnologiyalar maktabida tahsil oluvchi talabalarimiz o'zlarining Operatsion tizimlar kursi doirasida yaratgan loyihalarini namoyish qilishdi.
👨💻 Ko'rgazmada talabalar tomonidan robot va dasturiy ta'minotga asoslangan bir qator loyihalar namoyish etildi.
🔁English
➖➖➖➖➖➖➖➖➖➖➖➖➖
#dasturlash#loyihalar
⬇️ Biz ijtimoiy tarmoqlarda:
Veb-sayt | Telegram | Instagram | Facebook
O‘zbekiston Respublikasi Prezidenti Shavkat Mirziyoyev va Qozog‘iston Respublikasi Prezidenti Qasim-Jomart Toqayev yirik kooperatsiya loyihalarini ishga tushirish marosimida ishtirok etdilar.
—
Президент Республики Узбекистан Шавкат Мирзиёев и Президент Республики Казахстана Касым-Жомарт Токаев приняли участие в церемонии запуска крупных проектов кооперации.
#Mirziyoyev#tashrif#Qozogiston#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Президент Шавкат Мирзиёев Бухоро вилоятида учта йирик иншоот – газ-кимё мажмуаси, қуёш электр станцияси ва халқаро аэропорт қурилишига старт берди.
—
Президент Шавкат Мирзиёев дал старт строительству трех крупных сооружений - газохимического комплекса, солнечной электростанции и международного аэропорта в Бухарской области.
#Mirziyoyev#safar#marosim#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
O‘zbekiston Respublikasi Prezidenti Shavkat Mirziyoyev va Qozog‘iston Respublikasi Prezidenti Qasim-Jomart Toqayev yirik kooperatsiya loyihalarini ishga tushirish marosimida ishtirok etdilar.
—
Президент Республики Узбекистан Шавкат Мирзиёев и Президент Республики Казахстана Касым-Жомарт Токаев приняли участие в церемонии запуска крупных проектов кооперации.
#Mirziyoyev#tashrif#Qozogiston#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Samarqand viloyatiga tashrifi doirasida hududda yirik loyihalarni ishga tushirish va qurilishini boshlashga bagʻishlangan marosimda ishtirok etdi.
—
В рамках поездки в Самаркандскую область Президент Шавкат Мирзиёев принял участие в церемонии, посвященной запуску в регионе крупных проектов и началу строительства новых.
#Mirziyoyev#safar#Samarqand#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Samarqand viloyatiga tashrifi doirasida hududda yirik loyihalarni ishga tushirish va qurilishini boshlashga bagʻishlangan marosimda ishtirok etdi.
—
В рамках поездки в Самаркандскую область Президент Шавкат Мирзиёев принял участие в церемонии, посвященной запуску в регионе крупных проектов и началу строительства новых.
#Mirziyoyev#safar#Samarqand#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Frontend dasturchilar uchun eng yirik tayyor kodlar to'plami!
Bu repozitoriy veb-dasturlashni amaliyotda sinab ko'rishni xohlaganlar uchun haqiqiy xazina hisoblanadi.
Ichida nimalar bor?
🔹 100 dan ortiq tayyor veb-loyihalar;
🔹 Lending (sayt-vizitka) va chiroyli interfeyslar yaratish uchun kodlar;
🔹 Turli xil veb-ilovalar uchun tayyor yechimlar.
Tayyor kodlarni ko'rib, tahlil qilib, o'z ustingizda ishlashingiz uchun juda zo'r manba.
➡️Repozitoriyga o'tish:GitHub sahifasi
Frontendni endi o'rganayotgan yoki amaliyot qilmoqchi bo'lgan do'stlarga tashlab qo'yamiz!
#foydali#frontend#loyihalar#github
💻@dasturlash_hayoti— dasturchilar hayoti va IT memlari aralash kanal😉
Prezident Shavkat Mirziyoyev Samarqand viloyatiga tashrifi doirasida hududda yirik loyihalarni ishga tushirish va qurilishini boshlashga bagʻishlangan marosimda ishtirok etdi.
—
В рамках поездки в Самаркандскую область Президент Шавкат Мирзиёев принял участие в церемонии, посвященной запуску в регионе крупных проектов и началу строительства новых.
#Mirziyoyev#safar#Samarqand#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev Samarqand viloyatiga tashrifi doirasida hududda yirik loyihalarni ishga tushirish va qurilishini boshlashga bagʻishlangan marosimda ishtirok etdi.
—
В рамках поездки в Самаркандскую область Президент Шавкат Мирзиёев принял участие в церемонии, посвященной запуску в регионе крупных проектов и началу строительства новых.
#Mirziyoyev#safar#Samarqand#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
O‘zbekiston Respublikasi Prezidenti Shavkat Mirziyoyev va Qozog‘iston Respublikasi Prezidenti Qasim-Jomart Toqayev yirik kooperatsiya loyihalarini ishga tushirish marosimida ishtirok etdilar.
—
Президент Республики Узбекистан Шавкат Мирзиёев и Президент Республики Казахстана Касым-Жомарт Токаев приняли участие в церемонии запуска крупных проектов кооперации.
#Mirziyoyev#tashrif#Qozogiston#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
O‘zbekiston Respublikasi Prezidenti Shavkat Mirziyoyev va Qozog‘iston Respublikasi Prezidenti Qasim-Jomart Toqayev yirik kooperatsiya loyihalarini ishga tushirish marosimida ishtirok etdilar.
—
Президент Республики Узбекистан Шавкат Мирзиёев и Президент Республики Казахстана Касым-Жомарт Токаев приняли участие в церемонии запуска крупных проектов кооперации.
#Mirziyoyev#tashrif#Qozogiston#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X
Prezident Shavkat Mirziyoyev yirik energetika loyihalarini amalga oshirish, energiya tizimi barqarorligini taʼminlash va energiya samaradorligini oshirish masalalari boʻyicha yigʻilish oʻtkazdi.
—
Президент Шавкат Мирзиёев провел совещание по вопросам реализации крупных энергетических проектов, обеспечения устойчивости энергосистемы и повышения энергоэффективности.
#Mirziyoyev#yigilish#energetika#loyihalar
Prezident.uz|Facebook|Instagram|YouTube|X