Для тех кто пишет расширения на 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
【#本站公告#General #Spring Festival Activities】
🧧The 2023 mushroom cloud Chinese New Year event has started!🧧
==================================
🐰The Year of the Rabbit uses mushroom cloud to let you "🐰Rabbit Fly Forward 🐰Rabbit to Run" all the way 💰
==================================
🌟This limited-edition special product, annual payment special discount 366CNY, let you go smoothly 💰💰💰
Limited to 10, sold out will not make up~
Preferential Specifications:
Time: 365 days
Level: big mushroom
Traffic: 888G (can be reset every 45 days)
Broadband: Peak 888Mbps
==================================
🌟All station product discount code:
Monthly payment: 15% off 2023-CNY-MON
Quarterly payment: 2023-CNY-SEA 25% off
Annual payment: 2023-CNY-YEA 35% discountG
================================
‼️ Notes for this Spring Festival event
1. All discounts are limited to new purchases (old packages cannot be used)
2. None of the refunds are supported
3. In case of exploiting loopholes or violating TOS (including behaviors suspected of loopholes), we have the right to refuse to provide you with services, or even ban your account. This site reserves the highest right of interpretation.
Event schedule: 2022/01/17 22:00-2023/02/01 00:00
==================================
Latest official website: https://1mgy.com
Contact customer support: https://t.me/mushroom_cloud_bot
--------------------------------------------------------------------
🧧2023 mushroom cloud 春節活動開跑囉!🧧
================================
🐰兔年使用 mushroom cloud 讓您 “🐰兔飛猛進 🐰兔來運轉” 一路發發發💰
================================
🌟本檔限量特惠产品,年缴 特惠366CNY,让您一顺顺利利💰💰💰
限量10,售完不補~
特惠規格:
时间:365day
等级: 大蘑菇
流量: 888G (每45天可人工重置一次)
宽带: 峰值888Mbps
================================
🌟全站產品優惠碼:
月繳: 2023-CNY-MON 8.5折
季繳: 2023-CNY-SEA 7.5折
年繳: 2023-CNY-YEA 6.5折
================================
‼️本檔春节活动注意事项
1. 所有優惠限新購(舊套餐無法使用)
2. 均不支持退款
3. 如有出現鑽漏洞或者違反TOS嘅行為(包含疑似漏洞嘅行為),我哋有權拒絕為您提供服務,甚至封禁賬號,本站保留最高解釋權。
活動檔期: 2022/01/17 22:00-2023/02/01 00:00
================================
最新官網: https://1mgy.com
聯繫客服: https://t.me/mushroom_cloud_bot
POCO M7 Plus, POCO M8s, REDMI 15 - China - OS3.0.302.0.WOUCNXM (Android 16)
📆2026/05/06 #release📱#spring
📥Recovery ROM
📝Changelog:
[System]
Updated the security patch to August 2025. Increased system security.
🔗@xiaomiui | @miui_download | @hyperosfirmware | MemeOS Updates | XimiTime