Когда разрабатываете свой 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
halogenOS - Official | Android 16 | Nothing Phone (2)
✍️ Details:
- Version: 16.2
- Codename: #Pong
- Updated: 26/05/02
- Type: #Vanilla
🔽 Download: Here
🆘 Support : Here
⚙️ Installation: Here
🔖 Tags : #ROM#AOSP#Official#XOS
✍️ Changelog:
- Dimmed mode
- New launcher app drawer design
- Slidable tiles
- Battery charge limit
- Add font customization
- Add centered lockscreen clock style
- Add VRR mode
- April 2026 Security Patch
- Increase Bluetooth sound quality when using AAC or SBC
✍️ Note:
- Firmware is not included, based on NOS B4.0-251226-1110
- ROM is signed by official halogenOS keys. GApps support and PI not guaranteed (only vanilla with Sandboxed Play is officially supported).
🏆 Credits:
- Chandu
- Pong dev team & testers
- halogenOS Community
👤 Maintainer : @N0m4n904
🔔 Updates : @NothingPhone2Updates
💬 Chat : @NothingPhone2
HalogenOS - Official | Android 16 | Nothing Phone (2)
✍️ Details:
- Version: 16.0
- Codename: #Pong
- Initial Release: 25/09/25
- Type: #Vanilla
🔽 Download: Here
🆘 Support : Here
⚙️ Installation: Here
🔖 Tags : #ROM#AOSP#Official#XOS
✍️ Note:
- Kernel is prepatched KSU
- Firmware is not included, latest is recommended
- ROM is signed by official halogenOS keys. GApps support and PI not guaranteed (only vanilla is officially supported).
- Refer to this post for future updates related to the ROM.
🏆 Credits:
- Chandu for Kernel (and DT which served as as a reference)
- Pong dev team & Testers
👤 Maintainer : @N0m4n904
🔔 Updates : @NothingPhone2Updates
💬 Chat : @NothingPhone2
HalogenOS - Official | Android 16 | Nothing Phone (2)
✍️ Details:
- Version: 16.0
- Codename: #Pong
- Initial Release: 18/08/25
- Type: #Vanilla
🔽 Download: Here
🆘 Support : Here
⚙️ Installation: Here
🔖 Tags : #ROM#AOSP#Official#XOS
✍️ Note:
- Kernel is prepatched KSU
- Firmware is not included, latest is recommended
- ROM is signed by official halogenOS keys. GApps support and PI not guaranteed (only vanilla is officially supported).
- Refer to this post for future updates related to the ROM.
🏆 Credits:
- Chandu for Kernel (and DT which served as as a reference)
- @chrome6boy for testing
- Pong dev team
👤 Maintainer : @N0m4n904
🔔 Updates : @NothingPhone2Updates
💬 Chat : @NothingPhone2
AviumUI - Unofficial | Android 16 | Nothing Phone (2)
📝 Details:
- Version: 16
- Build type: #Vanilla
- Device: #Pong
- Released: 27/11/2025
⬇️ Downloads: Here
📖 Changelogs: Here
🖼️ Screenshota: Here
🏷 Tags: #Avium#ROM#Avium#Vanilla#Unofficial
✍️Notes:
- Vanilla build ONLY
- Initial Nothing camera support available
- SukiSU Ultra and SusFS baked in
- OTA updates are planned in the future, however not supported as of now
- Signed with my keys
- Based on Lineage DT, Vendor and Kernel
- Use latest NOS 3 firmware
- If face any bugs report with logs
🏆Credits:
- Deadlylxrd for so much help with building my first ever ROM
- Chandu for DT
- Fabian & HELLBOY for Glyph
👤 Maintainer: @sevo9128
💬 Chat: @NothingPhone2
🔔 Updates: @NothingPhone2Updates
Лучше выбери свой аромат в парфюмированных гелях NOTALONE, которые привлекают любовь!
Vanilla Lovers - влюбленность
Black pepper Neroli- страсть
Bergamot Amber Wood - глубина
#notalone#парфюмированныйгельдлядуша#blackpepper#vanilla#bergamot
LineageOS - Community | A14 | Nothing Phone (2)
✍️ Details:
- Version: 21.0
- Codename: #Pong
- Released: 17/07/2024
🔽 Download : Recovery | Fastboot
⚙️ Installation: Here
📸 Screenshots: Here
🆘 Support: Telegram
🔖 Tags : #ROM#Vanilla#Community#LOS#QPR3#U#NothingPhone2
✍️ Changelog
- Update from NOS 2.6.0
- USB OTG Fixed
- Fixed Status Bar Padding
- Read Notes 👇
✍️ Notes
- Flash These GAPPS to get Gapps with Pixel Launcher
- Stable Signed Build
- Meteoric kernel is baked in with prepatched KSU.
- Dolby Atmos Included
🏆 Credits
- Chandu for base device tree
- HellboyforMeteoric kernel
- Miki, Unluck & Ghost for all help
- Fabian for PA Glyph Implementation
😎 Maintainer: @Kartikey
🔔 Updates: @NothingPhone2Updates
💬 Chat: @NothingPhone2