Когда разрабатываете свой 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
🟢 Razer o‘zining ilk afsonaviy o‘yin sichqonchasi Boomslang’ni qayta chiqaradi — yangilangan ichki texnologiyalar va cheklangan sonli kolleksion nashrda
📅 2005-yilda taqdim etilgan BoomslangPC-gaming uchun maxsus yaratilgan dunyodagi birinchi sichqoncha bo‘lib, o‘yin periferiyasining butun bir sanoatini boshlab bergan edi. Endi kompaniya uning 20 yilligiga bag‘ishlab Razer Boomslang 20th Anniversary Edition'ni taqdim qildi.
✅ Tashqi ko‘rinishi deyarli o‘sha klassik shaklda qolgan, ammo ichki qismi to‘liq zamonaviylashtirilgan: Focus Pro 45K Gen-2 sensor, Gen-4 optik tugmalar, 45 000 DPI gacha qo‘llab-quvvatlash, HyperSpeed wireless, 8000 Hz polling rate va zaryadlovchi dok-stansiya. Korpus yarim shaffof, 9 zonali RGB yoritishga ega, istalgancha qo‘shiladigan shisha oyoqchalar bilan.
🖱 Vazni va narxi hozircha oshkor qilinmagan. Ma’lum bo‘lgan yagona narsa — Razer atigi 1337 dona chiqaradi va har bir sichqoncha o‘ziga xos raqamga ega bo‘ladi.
➡️#razer | Birinchi IT-Blog
🔥 Geymerlar uchun yangi kreslo chiqadi
ℹ️Trashbox.ru xabariga ko‘ra, Razer kompaniyasi ichki qizdirish va sovutish texnologiyasiga ega bo‘lgan kresloni tayyorlamoqda. Bu texnologiya haroratni foydalanuvchiga mos ravishda nazorat qiladi.
🌡 Qurilma iqlim sharoitiga qarab avtomatik ravishda qizitish yoki sovutish funksiyalarini ishga tushiradi. Bir nechta rejim orqali foydalanuvchi o‘ziga mos haroratni tanlashi mumkin. Smart monitoring texnologiyasi esa atrof-muhit sharoitini tahlil qilib, qulaylikni maksimal darajada saqlab turadi.
💸 Narxi $1500-2000 bo'larmish.
➡️#razer | Birinchi raqamli IT-Blog
Top Tech Announcements from CES 2025
🔍CES 2025 Highlights:
1. Roborock & Dreame: New vacuum robots with robotic arms, lifting items up to 500g.
2. Lenovo: Introduced ThinkBook Plus Gen 6 with expandable OLED display, from 14 to 16.7 inches.
3. Nvidia: Launched RTX 50 series, featuring DLSS 4 for significant performance boosts.
4. SwitchBot: Unveils modular robot K20 Plus Pro, combines various home tasks.
5. Razer: Debuted Project Ava, a real-time gaming assistant chat-bot.
6. Dell: Introduced a 32-inch QD-OLED monitor that adapts sound to user's head position.
7. TCL: Showcases Ai Me, a companion robot with interactive features.
8. Based Hardware: Reveals Omi, a wearable device with a neuro-helper powered by GPT-4.
9. Withings: Presents the Omnia smart mirror, integrating health data from wearables.
10. Halliday: Launches smart glasses with real-time translation capabilities.
#CES2025#TechAnnouncements#Robots#AI#Nvidia#Gaming#Wearables#SmartHome#Lenovo#Roborock#Dreame#Razer#Dell#TCL#SmartGlasses#HealthTech#Innovations#Gadgets#VR#ComputerHardware#VC