Когда разрабатываете свой 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
⚡️Rossiyada VPN ruxsat etildi!
🇷🇺 Endi RF hududida FSB litsenziyasiga ega sotuvchilardan VPN’ni qonuniy ravishda sotib olish mumkin. Asosan bunday xizmatlarni aloqa operatorlari taqdim etadi. U orqali esa Telegram va Instagram kabi tarmoqlarga kirsa bo'ladi shunda.
➡️#rossiya | Birinchi IT-Blog
🛰 "MegaFon" Rossiyada sputnik-internet tayyorlamoqda
📡 Rossiyaning chekka hududlariga internet olib borish uchun yangi loyiha e'lon qilindi. 2027-yilgacha sun'iy yo‘ldosh orqali 500 baza stansiyasi ulanishi rejalashtirilgan.
🌐 Loyiha yuqori tezlikdagi internet va past kechikishni ta'minlab, chekka hududlarda telemeditsina va boshqa zamonaviy xizmatlardan foydalanish imkonini beradi.
➡️#rossiya | Birinchi raqamli IT-Blog
📵Smartfon o'z egasining burnini sindirdi
😴 24 yoshli qiz ijtimoiy tarmoqlarni ko‘rayotib uxlab qolganida, qo'lidagi smartfoni yuziga tushib, burnini sindirib qo‘ydi. Bu hodisa Moskva viloyatida sodir bo‘ldi.
🏥 Vrachlar unga kechasi tez yordam ko‘rsatib, burun sinishini o‘ngladilar. Aytilishicha, 10 kun ichida shish qaytishi kutilmoqda.
⚠️ Ushbu voqea gadjetlardan ehtiyot bo‘lishni yana bir bor eslatadi. Telefoningizni o‘z vaqtida qo‘yib, dam olishni unutmang!
➡️#rossiya | Birinchi raqamli IT-Blog
🚫 Discord bloklandi!
🇷🇺 Rossiya qonunchiligi talablariga rioya qilmaganligi uchun Discord platformasi blok qilindi va endi VPNsiz ishlamasa kerak u ham.
➡️#rossiya | Birinchi raqamli IT-Blog
😀Youtube cheklanishi ortidan Rossiyada mana shunaqangi memlar ham paydo bo'lmoqda
💿 Bu degani, har oyda chiqadigan qiziqarli videolar xuddi oldingidey diskka yozilib sotiladi. Bu hazil albatta.
➡️#rossiya | Birinchi raqamli IT-Blog
1-sentabrdan boshlab Rossiyada barcha smartfonlarga oldindan majburiy tarzda Max ilovasi o‘rnatiladi — deb ma’lum qildi Hukumat
Rossiyaning “MAX” messenjerini majburiy joriy qilishiga bir nechta asosiy sabablar bor:
🔹 1. Raqamli suverenitet
— Rossiya oxirgi yillarda “raqamli mustaqillik” siyosatini kuchaytirayapti.
— WhatsApp, Telegram, Instagram kabi xorijiy messenjer va ijtimoiy tarmoqlarga to‘liq ishonmaydi, chunki ular chet el serverlarida ishlaydi.
— Shu sababli o‘zining milliy messenjerini joriy qilib, barcha aloqa va ma’lumotlarni mahalliy serverlarda saqlashni istayapti.
🔹 2. Nazorat va xavfsizlik
—MAX’da end-to-end shifrlash yo‘q, ya’ni barcha yozishmalar serverlarda ochiq saqlanadi.
— Hukumat bu orqali foydalanuvchilarning xatti-harakatlarini, moliyaviy operatsiyalarini va aloqa doirasini kuzatishi mumkin.
— Bu xavfsizlikni ta’minlash deb e’lon qilinsa ham, amalda tsenzura va nazoratni kuchaytirishga xizmat qiladi.
🔹 3. Import o‘rnini bosish va ichki bozorni qo‘llash
— Chet el messenjerlariga qarshi cheklovlar fonida (masalan, WhatsApp va Telegramda qo‘ng‘iroqlar bloklangan), foydalanuvchilarni asta-sekin mahalliy ilovaga o‘tkazish rejalashtirilgan.
— Shu bilan Rossiya o‘z kompaniyalarini qo‘llab-quvvatlaydi.
👍Bizning barcha loyihalar | #rossiya
Prezident Shavkat Mirziyoyev Rossiyaga amaliy tashrifini yakunlab, Toshkentga joʻnab ketdi. Oliy martabali mehmonni Sankt-Peterburg gubernatori Aleksandr Beglov va boshqa rasmiy shaxslar kuzatib qoʻydi.
—
Президент Шавкат Мирзиёев завершил свой рабочий визит в Россию и отбыл в Ташкент. Высокого гостя проводили губернатор Санкт-Петербурга Александр Беглов и другие официальные лица.
#Mirziyoyev#tashrif#Rossiya
Prezident.uz|Facebook|Instagram|YouTube|X
🇷🇺Rossiyada Telegram yetib keldimi?
📉 Aytishlaricha, Moskva va Sankt-Peterburg foydalanuvchilari ilova ishlamayotganidan ommaviy shikoyat qilishmoqda. Uyoqdagi obunachilarimizda nima gap?
➡️#telegram#rossiya | Birinchi IT-Blog
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev amaliy tashrif bilan Sankt-Peterburg shahriga keldi. “Pulkovo” xalqaro aeroportida oliy martabali mehmonni gubernator Aleksandr Beglov va boshqa rasmiy shaxslar kutib oldi.
—
Президент Республики Узбекистан Шавкат Мирзиёев прибыл с рабочим визитом в Санкт-Петербург. В международном аэропорту «Пулково» высокого гостя встретили губернатор Александр Беглов и другие официальные лица.
#Mirziyoyev#tashrif#Rossiya
Prezident.uz|Facebook|Instagram|YouTube|X
Oʻzbekiston Respublikasi Prezidenti Shavkat Mirziyoyev amaliy tashrif bilan Sankt-Peterburg shahriga keldi. “Pulkovo” xalqaro aeroportida oliy martabali mehmonni gubernator Aleksandr Beglov va boshqa rasmiy shaxslar kutib oldi.
—
Президент Республики Узбекистан Шавкат Мирзиёев прибыл с рабочим визитом в Санкт-Петербург. В международном аэропорту «Пулково» высокого гостя встретили губернатор Александр Беглов и другие официальные лица.
#Mirziyoyev#tashrif#Rossiya
Prezident.uz|Facebook|Instagram|YouTube|X