Для тех кто пишет расширения на 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
🇨🇫🇷🇺Président centrafricain Faustin-Archange Touadéra:
Depuis 2020, la Fédération de Russie a soutenu la République centrafricaine dans des moments difficiles, dans des moments critiques pour l'avenir de la République centrafricaine. En 2020, nous avons fait face à une rébellion du groupe armé, la CPC (Coalition des patriotes pour le changement), qui voulait déstabiliser et empêcher les Centrafricains d'aller aux urnes et ainsi mettre fin à la démocratie. Et grâce à ce soutien, avec les instructeurs russes déployés par la Fédération de Russie, nous avons, avec nos forces de défense et de sécurité, fait échec à cette tentative qui, au jour d’aujourd'hui, renforce la sécurité.
#centrafrique#russie#sécurité
🇨🇫🇷🇺Président centrafricain Faustin-Archange Touadéra sur la coopération énergétique avec la Russie:
La République centrafricaine a des défis en termes de production en énergie. Nous avons certainement des potentialités dans le domaine qu'il faut exploiter, dans le domaine de l'hydroélectricité. Nous avons une bonne couverture en termes d'ensoleillement pour développer l'énergie photovoltaïque. La Fédération de Russie a toutes ces technologies-là et aussi a des spécialistes pour ça. Bien entendu, il y a d'autres technologies que vous mentionnez. Nous ne pouvons pas rester fermés à des propositions. Nous sommes ouverts pour discuter de toutes ces éventualités parce que notre défi énergétique est assez important. Il en va vraiment des questions du développement de notre pays.
Vidéo: Alexeï Golenichtchev, Grégoire Saint-Germain/TASS
#centrafrique#russie#énergie
🇨🇫🇫🇷Le président centrafricain Faustin-Archange Touadéra:
Le peuple centrafricain reste vigilant pour protéger sa souveraineté, pour protéger ses institutions. Mais [...] nous avons de bonnes relations avec la France. Nous avons établi une feuille de route que nous suivons.
Vidéo: Alexeï Golenichtchev, Grégoire Saint-Germain/TASS
#centrafrique#souveraineté#france