Когда разрабатываете свой 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
📌Dunyo bo'ylab ta’tilni rejalashtirishga yordam beradigan qulay servis
⭐️ Ushbu sayt yordamida siz istalgan davlat bo‘yicha noodatiy sayohat joylarini, minglab qiziqarli va kam tanilgan lokatsiyalarni topishingiz mumkin — muzeylardan tortib sirli plyajlargacha.
👍 Shunchaki mamlakat nomini kiriting — servis sizga barcha qiziqarli manzillarni ko‘rsatib beradi.
⚡️Sayt manzili
⚡️Bizning barcha loyihalar | #useful
✅ Foydali sayt
cabinet.het.uz – bu orqali maishiy va yuridik iste’molchilar, Internet orqali o‘zlarining elektr tarmog'idagi shaxsiy ma’lumotlarini ko‘rishlari umumkin:
- hisoblagich ko‘rsatkichlarini ko‘rish;
- shaxsiy hisob-raqamining to‘lovlar bo‘yicha joriy holati;
- qarzdorlik miqdori;
- to‘lovlar tarixi;
- telefon raqam o‘zgartirish;
- talabnoma va arizalarni kiritish;
- hisob-kitoblarni tarkibiy qismlari bilan ko‘rish.
P/S: Shu kabi o'zbekcha, siz uchun foydasi tegadigan saytlar haqida postlar chiqishi uchun reaksiya (🔥) qoldiring!
👉Bizning barcha loyihalar | #useful
✅Useful
🇬🇧Making apologies:
🔸 I do apologize for...
🔸 I must apologize for...
🔸 I apologize for...
🔸 I'd like to apologize for...
🔸 I am so sorry for...
🔸 I shouldn't have...
🔸 It's all my fault.
🔸 I'm ashamed of...
🔸 Please, forgive me for...
🔸 Excuse me for ...
🔸 I'm terribly sorry for...
🔸 Pardon me for this...
🔸 Please, forgive me for my....
🔸 Please, accept my apologies for...
🇬🇧Accepting apologies:
🔹That's all right.
🔹 Never mind.
🔹 Don't apologize.
🔹 It doesn't matter.
🔹 Don't worry about it.
🔹 Don't mention it.
🔹 That's OK.
🔹 I quite understand.
🔹 You couldn't help it.
🔹 Forget about it.
🔹 No harm done.
#useful
🤓Kanalga qo'shiling 👇
♻️Channel:@cambridgeIELTSbooks
YouTube|Instagram|Telegram
✅Useful
2023IELTS Test Dates. (IDP and BC)
September, October, November, December
👉REGISTER FOR IELTS
👈
#useful
♻️Sharing is caring 🤓
✅Channel: @cambridgeIELTSbooks
✅Useful
💠 IELTS imtihonini topshirishning sabablaridan biri — bu til bilish darajangizni tekshirish va tasdiqlab olish.
⁉️ Olingan ball qaysi darajaga mos kelishini qanday aniqlash mumkin?
9 — Mutaxassis.
8 — Juda yaxshi daraja.
7 — Yaxshi daraja.
6 — Kompetent foydalanuvchi.
5 — Qoniqarli daraja.
4 — Cheklangan daraja.
3 — Juda cheklangan daraja.
2 — Qoniqarsiz daraja.
1 — Til foydalanuvchisi emas.
0 — Ishtirokchi sinovdan o'tishga urinib ham ko'rmagan.
Sizning sertifikatingiz dunyo bo'ylab 130 dan ortiq mamlakatlardagi 7000 ga yaqin kompaniyalar uchun ingliz tilini bilishingizning isboti hisoblanadi.
#useful
🔝@cambridgeIELTSbooks
✅ Useful
"One who speaks only one language is one person, but one who speaks two languages is two people".
🔸 Bilingual - a person fluent in two languages.
🔹 Trilingual - a person fluent in three languages.
🔸 Multilingual - a person fluent in three or more languages.
🔹 Polyglot - a person fluent in several languages.
📝 Sentence: Mr.Abdulloh can speak more than 8 languages.( Band 6.0 )
📝 Sentence: Mr.Abdulloh is the one who is really Polyglot in his village 🤓 ( Band 7+ )
P.s Learn these high level words and try using them in your sentence.
P.s Learn English with @cambridgeIELTSbooksand start your Bilingual / Trilingual / multilingual journey ! 😉
#useful
🤓Kanalga qo'shiling 👇
🔝@cambridgeIELTSbooks