Когда разрабатываете свой 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
➤ Device = Redmi K50 Ultra
➤ HyperOS 2.2 Version = 2.0.211.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 5
➤Region = China
📆26/12/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(System)
Merged December 2025 security patches to enhance system security
*Mi Pilot Release
Redmi K50 Ultra / Xiaomi 12T Pro - China Stable - OS2.0.206.0.VLFCNXM (Android 15)
📆2025/08/26 📱#diting
📥Recovery ROM
📝Changelog:
[System]
Optimization System stability
Fix Errors occurred in some cases
Updated the security patch to August 2025. Increased system security.
🔗@xiaomiui | @miui_download | @hyperosfirmware | HyperOS Updates | XiaomiTime
➤ Device = Redmi K50 Ultra
➤ HyperOS 2.2 Version = 2.0.206.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 2
➤Region = China
📆21/8/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(System)
Optimization system stability
Repair occasional abnormal issues in some scenarios
Merged August 2025 security patches to enhance system security
*Mi Pilot Release
🔗@TECH_MUKUL | HyperOS 2.0 | @miui_hyperos_download | @hyperossystemapps| TW
➤ Device = Redmi K50 Ultra
➤ HyperOS 2.2 Version = 2.0.203.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 1
➤Region = China
📆14/7/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(Accessibility)
Fix: Touch gestures stopped working in TalkBack mode
Fix: Volume buttons didn't work in TalkBack mode
Fix: Issues that prevented Recorder from capturing TalkBack audio
Fix: Issues with announcements for unselected items in Calendar and other apps
Fix: Some buttons weren't announced in several apps, including Settings, Control center, Messaging, Contacts, Weather, Notes, and Browser
(System animations)
Optimization: Interrupt animation when entering subpages within apps
Optimization: Interrupt animation during app transitions
(Status bar, Notification shade)
New: Some status bar icons now support custom display
(System)
Optimization: Immersive effect for full screen indicator in certain scenarios
Optimization: Updated styles for some classic pages
Optimization: Animation effects when launching apps
Optimization: Scrolling performance on content feeds in some third party apps
Updated the security patch to June 2025. Increased system security.
(Settings)
Optimization: Added a shortcut to system navigation settings in Home screen settings
(Lock screen)
New: Eastern aesthetics lock screen templates
*Mi Pilot Release
➤ Device = Redmi K50 Ultra
➤ HyperOS 2 Version = 2.0.7.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 3
➤Region = China
📆10/6/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(System)
Merge the June 2025 security patch to enhance system security
*Mi Pilot Release
🔗@TECH_MUKUL | HyperOS 2.0 | @miui_hyperos_download | @hyperossystemapps| TW
➤ Device = Xiaomi 12T Pro
➤ HyperOS 2 Version = 2.0.1.0.VLFMIXM
➤ Android Version = 15
➤ Number of Update = 1
➤Region = Global
📆14/4/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:here
*Public Release
➤ Device = REDMI K50 Ultra
➤ HyperOS 2 Version = 2.0.5.0.VLFCNXM
➤ Android Version = 15
➤ Number of Update = 1
➤Region = China
📆28/3/2025 📱#diting
📥Recovery ROM (Mirror)
📝Changelog:
(Alive Design Philosophy)
Alive Design Philosophy unveils fresh, vibrant design across the whole system, making every interaction feel smooth and alive.
All-new Artistic Lock screen:
Artistic Lock screen brings new templates and effects inspired by classic designs, giving your device a cinematic look every time you unlock it.
All-new Weather
Real-time Weather Engine 2.0 shows you the sky and clouds just like in real life - even lets you see rainbows and the Milky Way.
All-new Calendar:
The new Desktop calendar adds a touch of ritual to your day.
All-new Clock:
Updated Clock uses a more refined display structure for a more elegant, easy-to-read look.
Updated animations:
A full-scale animation upgrade makes every interaction flow smoothly and feel stable, responsive, and comfortable.
(Xiaomi HyperCore)
Xiaomi HyperCore, Xiaomi's proprietary core technology platform, enhances performance, graphics, network, and security.
New dynamic memory:
New technology allows precise resource allocation, so apps start up faster.
Upgraded rendering:
Upgraded rendering for multitasking extends battery life.
Heterogeneous computing:
Enhanced rendering pipeline boosts hardware performance for faster, more efficient visuals.
(Xiaomi HyperConnect)
Improved device connectivity framework.
(Improved Home Screen+)
You can drag apps from your phone to Xiaomi tablets or add them as native apps.
(Updated multi-device camera)
The upgraded multi-device camera allows you to use two cameras simultaneously for live streaming from multiple angles.
*Mi Pilot Release
¡New build available!
#A15#diting
Code Name:diting
Device:Xiaomi 12T Pro / Redmi K50 Ultra
File Name:xperience-19.1.0-20250623-213918-NIGHTLY-diting.zip
File Size:3.3G
sha256sum:b9c01d0a5edad1b7a5d545f3a2a777aa9423c7e569392ea8dcbc5201d0f62f61
Downloads:
SourceForge | Pling fast download
Required Firmware
Recovery
Maintainer:@TeamMEX_XDA (Kισżż)
Install steps:
Changelog:
- Merge 2025-06-05 SLP (whitout qpr2)
- Optimize dalvik and dext2oat
- Update translations
If you like my work and want to support it please consider making a donation this helps with server costs.
Donate PayPal