Когда разрабатываете свой 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
#vebdizayn
Veb dizaynerlar uchun qimmatli linklar💥
1⃣https://synapticstimuli.com — Eng xilma-xil loyihalar galereyasi. Goʻzallik tuygʻusini rivojlantiradi;
2⃣https://siiimple.com — Minimalizm muxlislari va ushbu uslubda qanday dizayn qilishni oʻrganishni istaganlar uchun. Saytda doimiy ravishda yangilanib boriladigan minimalist dizayn namunalarining ulkan toʻplami mavjud;
3⃣http://webdesignerwall.com — Sayt nafaqat dizaynni yaratish uchun, balki uni ishlab chiqish, maket, animatsiya va reklama mavzulariga ham xizmat qiladi;
5⃣https://designyoutrust.com — Dizayn yangiliklari, voqealar va tendentsiyalarning kunlik toʻplami;
5⃣https://designpub.ru — Ular voqealar, tipografiya, dizayn jarayonlari, illyustratsiya va oʻz-oʻzini rivojlantirish haqida suhbatlashib borishadi;
6⃣http://onjee.ru — Ushbu sohada birinchi qadamlarni qoʻyishni boshlagan dizaynerlar uchun ajoyib sayt;
7⃣http://deadsign.ru — Ingliz tilini bilmaydigan, lekin veb dizayndagi soʻnggi yangiliklardan xabardor boʻlishni istaganlar uchun ajoyib sayt.
Siz yana qanday saytlarni bilasiz? Izohlarda yozib qoldiring✍️
✊Dizayn sohasini biz bilan o’rganing —@texnologiyait_bot
💻@dasturlash_hayoti— dasturchilar va dasturlash hayotini yoritib boradigan loyiha!
👨💻 CSS vositalari bilan veb-ishlab chiqish mahoratingizni oshiring!
Dizaynlaringizni yanada chiroyli va samarali qilish uchun quyidagi vositalarni sinab ko‘ring:
1️⃣Border Radius Generator – mukammal burchaklarni yaratish uchun:
10015.io/tools/css-border-radius-generator
2️⃣ Glassmorphism Generator – shaffof va zamonaviy dizaynlar uchun:
hype4.academy/tools/glassmorphism-generator
3️⃣ Shadows Generator – realistik soya effektlari uchun:
shadows.brumm.af
4️⃣Box Shadow Examples – tayyor box-shadow namunalarini qo‘llash uchun:
getcssscan.com/css-box-shadow-examples
#CSS#VebDizayn#DasturlashVositalari
💻@dasturlash_hayoti— dasturchilar va dasturlash hayotini yoritib boradigan loyiha!
Beautiful Web Type — chiroyli veb-tipografiya uchun ilhom✨
Agar veb-saytingizda chiroyli va o‘qilishi qulay shriftlardan foydalanishni istasangiz, Beautiful Web Type siz uchun ajoyib manba!
🔹 Sayt Google Fonts kolleksiyasidagi eng yaxshi shriftlarni tanlab, ularning dizaynga qanday mos kelishini namoyish etadi.
🔹 Har bir shrift o‘ziga xos uslubda taqdim etilgan bo‘lib, real loyihalarda qanday ishlatilishi mumkinligini ko‘rishingiz mumkin.
🔹 Minimalistik va estetik dizayn ixlosmandlari uchun ayni topilma!
Sayt:hellohappy.org/beautiful-web-type
Agar siz ham veb-dizayn va tipografiyaga qiziqsangiz, ushbu sahifani ko‘rib chiqing va loyihalaringizda qo‘llang!
#VebDizayn#Tipografiya#GoogleFonts
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅
🌐2025-yilning Top 5 Veb-dizayn Trendlari
Assalomu alaykum, hurmatli obunachilar!
Veb-dizayn doimo o‘zgarib boradi, va har yili yangi tendensiyalar paydo bo‘ladi. 2025-yilda veb-saytlarni zamonaviy ko‘rinishga keltirish uchun quyidagi 5 ta muhim trendni bilib oling:
✅1. Minimalistik Dizayn
Ortacha ranglar, katta bo‘sh joylar va kam elementlar ishlatilgan soddalashgan dizayn. Sayt yuklanish tezligini oshiradi va o‘qilishi oson bo‘ladi.
📱 2. Mobilga Moslashuvchan Dizayn
Saytning har qanday qurilmada (telefon, planshet, kompyuter) to‘g‘ri va chiroyli ko‘rinishini ta’minlaydigan dizayn. Bugungi kunda mobil foydalanuvchilar soni ko‘p bo‘lgani uchun bu juda muhim.
🎭 3. Interaktiv Animatsiyalar
Saytga kichik harakatlanuvchi elementlar qo‘shish – masalan, tugmalar bosilganda o‘zgarishi yoki skroll qilinganda silliq o‘tishlar. Bu foydalanuvchilarga yoqimli tajriba taqdim etadi.
🔤4. Shriftlar
Yirik va o‘ziga xos shriftlar yordamida saytga e’tibor tortadigan sarlavhalar yaratish. Bu usul dizaynga jiddiylik va zamonaviylik baxsh etadi.
🌙 5. Qorong‘u Rejim (Dark Mode)
Ko‘zlarni charchatmaydigan, qora va quyuq ranglarga asoslangan dizayn. Saytlarda foydalanuvchilarga tanlash imkoniyatini berish orqali ularning tajribasi yaxshilanadi.
🚀Agar siz ham o‘z loyihalaringizni zamonaviy va qulay qilishni istasangiz, ushbu trendlarni e’tiborga oling!
#VebDizayn#Minimalizm#MobilDizayn#InteraktivAnimatsiyalar#Shriftlar#DarkMode
💻@dasturlash_hayoti — bir xatoni tuzatib, ikkinchisiga tayyorlanish! 😅