Для тех кто пишет расширения на PyQt/PySide для CG-софтов.
Когда я только начинал писать тулзы под Maya (тогда еще версия 2010-2011) мне приходилось ручками ставить PyQt4 под Maya. Даже написал мануалы по установке на своём сайте. Но потом стал доступен из коробки PySide и позже он обновится до PySide2. Для некоторых систем была поддержка PyQt5.
И как простому разработчику поддерживать этот зоопарк? Ведь хочется чтобы тул работал на любой версии (вы тоже делали модуль что-то типа import_qt.py?😁)
На помощь приходит проект Qt.py который поставил себе цель унифицировать использование Qt-биндингов вне зависимости от среды где запускается код. Те, кто давно пишут на Qt, скорее всего знают этот проект.
Он стал стандартом для CG-индустрии и используется в топовых студиях и проектах.
Qt․py помогает запускать один и тот же код на разных платформах с разными вариантами Qt-библиотек. Это может быть как интеграция в CG-софт, так и переносимость стендалонов между разными платформами с разными версиями Python.
Я решил рассказать о некоторых особенностях работы с этой библиотекой.
Сегодня о том, как установить и использовать Qt․py и что это вам даёт.
Установка
pip install Qt.py
Чтобы начать использовать Qt․py в коде достаточно заменить импорт вашего варианта Qt-биндинга на Qt․py
from [PySide|PyQt4|PySide2|PyQt5] import QtWidgets
=>
from Qt import QtWidgets
Теперь ваш код будет поддерживать любой вариант биндинга Qt в Python.
При этом не потребуется использовать if-else конструкции под разные версии. Все вызовы теперь одинаковы.
Всё что нужно сделать, это написать его по правилам PySide2. Именно эта версия была взята за основу.
Приоритет импорта такой:
1. PySide2
2. PyQt5
3. PySide
4. PyQt4
Что именно загрузилось можно посмотреть в переменной __binding__
>>> import Qt
>>> Qt.__binding__
'PySide2'
Приоритет имопрта можно изменить через переменные QT_PREFERRED_BINDING и QT_PREFERRED_BINDING_JSON. Причем под каждый проект оверрайды можно настраивать индивидеально.
#qt#libs
❎ Famous Characters (Caption) ❎
https://telegram.me/addstickers/famousCharactersCaption
#Famous#Characters#Caption#Unofficial
▶️ more Stickers at S4T.tv
#EvolutionX#UNOFFICIAL#A15#diting
EvolutionX 10.7 | UNOFFICIAL | Android 15
Updated: 29/6/2025
▪️Download: Gdrive | Mirror
▪️Screenshots
▪️Support
Changelogs:
• Sync last source
• Voip volume control problem fixed
• All new infinityx features have been added
• Optimized things for better performance
• Xiaomi camera Support
• Added Sony dolby
• KSU Support
WARNING
It is necessary to clean flash
Credits:Here
By@Jezzay97 | Donate
Follow@xiaomi_12tpro_updates
Join@xiaomi12tpro_chat
#EvolutionX#UNOFFICIAL#A15#diting
EvolutionX 10.7 | UNOFFICIAL | Android 15
Updated: 4/6/2025
▪️Download: Gdrive | Mirror
▪️Screenshots
Changelogs:
• June 2025 security patches have been merged into our Android 15 QPR2 branch. The latest version is now 10.7. As a reminder, all related Play integrity spoofing in the ROM have been removed already. All reports regarding certification failing will be ignored
• Switched to Yuki kernel oss
• kernel is now compiled with yuki clang 21 optimized by klozz
• Has the visual bug of negative battery percentage been fixed?
• The entire tree has been overrun. performance has been optimized and improved, such as micro lag.
• New thermal system
• Override doze mode support
• Remove wifilearner HIDL entry from manifest
• and other internal changes
• Add support for spatial audio
• Xiaomi camera Support
• Dolby audio by default
• KSU Support
CLEAN FLASH MANDATORY
Credits:Here
By@Jezzay97 | Donate
Follow@xiaomi_12tpro_updates
Join@xiaomi12tpro_chat
#EvolutionX#UNOFFICIAL#A15#diting
EvolutionX 10.6 | UNOFFICIAL | Android 15
Updated: 31/5/2025
▪️Download: Gdrive | Mirror
▪️Screenshots
▪️Support
Changelogs:
• Sync last source from evox
• sepolicy: Allow fingerprint hal to read system dmabuf device
• switch to common AIDL IR service
• HBM removed and display saturation
• And other minor changes
• Rebase Xiaomi Parts
• Xiaomi camera Support
• KSU Support
Credits:
@TeamMEX_XDA
@ArianK16a
@Omar99A
By@Jezzay97 | Donate
Follow@xiaomi_12tpro_updates
Join@xiaomi12tpro_chat