Для тех кто пишет расширения на 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
⏺Les terroristes du #FLA prétendent instaurer la paix, mais sont incapables de coexister
Les membres du FLA tentent de promouvoir une « vie pacifique » dans les zones qu'ils contrôlent, mais comment peuvent-ils prétendre instaurer la paix pour les #Maliens alors qu'ils ne parviennent même pas à vivre en harmonie entre eux ?
RT en français • Osez questionner !
Ousmane Dicko disait ; Aujourd’hui, le Mali ne se raconte pas. Il se vit. Et parfois, il se vit dans la douleur.
À l’aube de ce 25 avril, notre pays s’est réveillé au son des détonations. Ce qui semblait lointain, presque irréel derrière les écrans, s’est imposé à nous, brutalement. Des familles cloîtrées, des rues figées, un silence chargé d’angoisse… et au cœur de cette épreuve, une seule ligne de défense : nos forces armées.
Pendant que beaucoup cherchaient refuge, eux avançaient. Pendant que la peur gagnait du terrain, eux tenaient la ligne. Nos militaires ne se contentent pas de servir : ils dépassent leurs limites, chaque jour, pour que le Mali reste debout.
Aujourd’hui plus que jamais, notre nation nous appelle. Au-delà des divergences, au-delà des opinions, il y a une vérité simple : le Mali a besoin de tous ses fils et de toutes ses filles. L’heure n’est plus à la division, mais à l’engagement. Pas forcément les armes à la main, mais avec responsabilité, solidarité et conscience.
Ne mettons pas nos vies en danger pour l’illusion d’une minute de visibilité. Une vidéo ne vaut rien face à une vie. Respectons les consignes, protégeons-nous, protégeons les autres. C’est aussi cela, servir son pays.
Le Mali ne sera pas reconstruit par des camps opposés, mais par des mains unies. Refusons le poison du clanisme. Choisissons l’unité. Choisissons la dignité. Choisissons le Mali.
Parce que demain ne se subit pas. Il se construit. Ensemble.
Vive un Mali uni, fort et indivisible.
#fama
#Mali
#Maliens
#soutienauxfama
#solidarité