Для тех кто пишет расширения на 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
🇨🇳Pékin durcit le ton
🔴La #Chine avertit qu’elle ripostera si le projet de loi sur l’« accélération industrielle » est adopté sans modification. En cause, des règles jugées pénalisantes pour ses entreprises, notamment en ce qui concerne l’accès aux financements publics.
🔴Le texte prévoit d’imposer des critères stricts d’origine locale dans plusieurs secteurs clés comme l’automobile, les batteries, le solaire ou les matières premières critiques. Une mesure qui vise à renforcer la production sur le continent, mais que #Pékin considère comme une restriction aux investissements étrangers.
RT en français • Osez questionner !
⏺Le défilé de la Victoire, qui s'est tenu aujourd'hui à #Pékin à l'occasion du 80e anniversaire de la victoire dans la Seconde Guerre mondiale ainsi que sur le militarisme japonais, a été un événement grandiose non seulement pour la #Chine, mais aussi pour le monde entier.
Daria Vaganova, notre envoyée spéciale, était sur place et va nous partager les détails.
RT en français • Osez questionner !
La coopération entre la #Russie et la #Chine s'est activement développée, #Pékin est désormais l'un des partenaires les plus fiables de #Moscou. L'économie, la science, l'espace, la défense : ce ne sont que quelques-uns des domaines dans lesquels une interaction bilatérale productive se met en place.
Pour creuser le sujet, nous recevons Xavier Moreau, directeur de Stratpol, depuis Moscou.
RT en français • Osez questionner !
🇨🇳🚙 Le plus grand salon automobile au monde a ouvert à Pékin. Comme cela a été noté par TASS, 1.451 modèles de voitures sont présentés, dont 181 pour la première fois.
#pékin#salon#voitures
La coopération entre la #Russie et la #Chine s'est activement développée, #Pékin est désormais l'un des partenaires les plus fiables de #Moscou. L'économie, la science, l'espace, la défense : ce ne sont que quelques-uns des domaines dans lesquels une interaction bilatérale productive se met en place.
Pour creuser le sujet, nous recevons Xavier Moreau, directeur de Stratpol, depuis Moscou.
RT en français • Osez questionner !
🧧La marche du Régiment des Immortels a lieu à l’ambassade de Russie à #Pékin.
Le cortège est mené par l'ambassadeur de #Russie en #Chine, Igor #Morgoulov, et l'actrice Maria #Kojevnikova.
RT en français • Osez questionner !