Когда разрабатываете свой 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
@redfoxuz / #dasturlash
RedFox IT akademiyasiga dasturlash bo'yicha shogird olamiz.
Haqiqiy mutaxassislardan Ustoz-shogird metodikasi asosida samarali ta‘lim.
Yo‘nalish va texnologiyalar:
• HTML5
• CSS3
• Figma
• Bootstrap 4
• JavaScript
• React JS
• PHP/Yii2
• Node.js
• Python
• Django
va yana 10 dan ziyod texnologiyalar
Batafsil: https://teletype.in/@redfoxuz/vebdasturlash
📆 Haftada 7 kun
⏰ Kuniga 12 soatlik amaliy mashg'ulotlar
🎁 To'liq vaqtini ajratadiganlar uchun bepul turar joy, yotoqxona ajratiladi.
⚠️ Ertaroq ro'yxatdan o'ting, 1 yilda mutaxassis bo'ling. Yoki o'rningizni kimdir egallaydi...
📝@redfoxsuhbat
📞 +998 33 778 5008
#ITC#Dasturlash
🌐 Bugungi kunda dunyoning har taraflama liderlari dasturchilar hisoblanishadi. Misol uchun, Elon Musk, Bill Gates, Jaff Bezos... Ro'yhat juda ham uzun
🤔 Ular dunyodagi eng boy insonlarga qanday aylanishdi? Qanday qilib yuz mingdan ortiq ishchini boshqarishyapti yoki qanday qilib butun dunyoni bepul internet bilan ta'minlashmoqchi? Savollar bisyor.
✅ Javob esa yagona ularning hammalari IT soha vakillari. Ularning deyarli hammalari dasturchilar. Lekin ular nimadan boshlashgan? Albatta, ta'limdan! Ilm olishdan, o'rganishdan boshlashgan.
☺️ Xullas, siz ham xuddi yuqorida ismi keltirilgan insonlardek dunyoni o'zgartiradigan shaxslardan biri bo'lishni istasangiz IT bo'yicha ta'lim olishni boshlang. Qayerda deysizmi?
📌 Albatta, markazimizda
Bizda Web dasturlash yo'nalishi bo'yicha darslar boshlangan. Tez orada o'quvchilarimiz natijalari bilan o'rtoqlashamiz. Sizda ham imkoniyat bor. Keling va o'qing, dasturchiga aylaning.
*Aytgancha dasturchilar ham oddiy odamlar va ular ham yerlik ))
Dasturchi kim va u nima ish qiladi?
#info / #dasturlash
ℹ️ Kecha bir kishi qogʻoz chiqarishda muammoga duch kelayotganini va agar yechim topmasa yaxshi programmistga olib borish rejasi borligini aytib qoldi. Oʻzim dasturchi boʻlmaganim uchun unchalik yomon tegmadi, lekin bu narsa dasturchilarni qiynaydigan masala ekanligini bilaman va bu boʻyicha sodda tilda tushuncha berishga harakat qilaman.
⌨️Dasturlash tillari (языки программирования) nima?
Kompyuter, telefon va boshqa qurilmalarda ishlashi uchun dastur yozishda ishlatiladigan til. Xitoyga xitoycha gapirsak tushungani singari kompyuterga istagimizni oʻzini tilida, boshqa qurilmalarga ham oʻzini dasturlash tilida tushuntirishimiz kerak boʻladi. Demak qurilmaga bizni buyruqlarimizni yetkazishda bu tillar orqali dastur tuzamiz.
🔟Dastur (программа) nima?
Biror muammoni bartaraf etish uchun yozilgan kodlar jamlanmasi. Oddiy kalkulyator ham dastur hisoblanadi, uni yozish uchun ham qaysidir dasturlash tili ishlatilgan.
🧑💻Dasturchi (программист) kim?
Dasturlash tillaridan foydalanib dastur yozadigan bechora dasturchi yoki oʻzbekchada программист deyiladi.
Dasturchi windows oʻrnatishni bilmasligi, umuman printer ishlatmasligi yoki TV ga kanal terishni bilmasligi normal holat. Chunki u dasturlash tillari bilan ishlagani uchun dasturchi deyiladi (windowschi, printerchi yoki televizorchi emas).
Программист soʻzini ishlatishda biroz eʼtiborli boʻlaylik, kompyuterda muammo boʻlsa kompyuterchiga olib boring. Lekin dasturchi tanishingizga "Sen zoʻr programmistsanku shunga programma qilib ber demang" (koʻzlari kulgani bilan koʻngli yigʻlaydi).
Bizning loyihalarimizlQoʻllab-quvvatlash
Rejalaringgiz amalga oshdimi?
🥸Dasturchi bo'lish uchun o'qib yurgan paytlarim qilgan rejalarim amalga oshganda, menimcha hozir men Ilon Mask bilan birga ovqatlanib o'tirgan bo'lishim kerak edi, lekin sizga ushbu postni yozib o'tiribman...
👉🏼Birinchi raqamli Windows Blog | #dasturlash / #kayfiyat
Boshqalarning kodini o‘qing
O‘zingizdan kuchli dasturchilarning kodini o‘qish ➡️ 1 oyda 6 oylik rivojlanish.
📱GitHub — bepul ustozlar manbai.
#Dasturlash#GitHub
💻@dasturlash_hayoti— dasturchilar hayoti va dasturlash olami haqida qiziqarli loyiha!
2024-yildagi eng mashxur dasturlash tillari qaysi?
ℹ️ Bu yili eng ko'p e'tiborni jalb qilgan va shuxratga erishgan dasturlash tillari:
1. Python
2. JavaScript
3. Java
4. C
5. GO
6. PHP
7. Swift
8. Kotlin
9. Rust
10. Ruby
Siz qaysi dasturlash tillarini bilasiz?
👉Birinchi raqamli Windows Blog | #dasturlash / #manba
2024-yildagi eng mashxur dasturlash tillari qaysi?
ℹ️ Bu yili eng ko'p e'tiborni jalb qilgan va shuxratga erishgan dasturlash tillari:
1. Python
2. JavaScript
3. Java
4. C
5. GO
6. PHP
7. Swift
8. Kotlin
9. Rust
10. Ruby
Siz qaysi dasturlash tillarini bilasiz?
➡️Birinchi raqamli Windows Blog | #dasturlash / #manba
Python’da eng ko‘p ishlatiladigan ma’lumot turlari
Python dasturlash tilida ma’lumotlarni saqlash va ular bilan ishlash uchun data typelar ishlatiladi.
Asosiy turlari:
● int — butun sonlar:5, -12
● float — haqiqiy sonlar (vergulli):3.14, -0.5
● str — matn:"Salom", 'Python'
● bool — mantiqiy qiymatlar:True, False
● list — ro‘yxat:[1, 2, 3]
● tuple — o‘zgarmas ro‘yxat:(4, 5, 6)
● dict — lug‘at (kalit: qiymat): {"ism": "Ali", "yosh": 20}
● set — takrorlanmas elementlar to‘plami:{1, 2, 3}
#Dasturlash#Python
💻@dasturlash_hayoti— dasturchilar hayoti va dasturlash olami haqida qiziqarli loyiha!