Для тех кто пишет расширения на 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
🇺🇸#Trump a déclaré que les États-Unis lanceront, le 4 mai au matin, une opération d'escorte des navires dans le détroit d'Ormuz.
RT en français • Osez questionner !
🟢Donald #Trump a déclaré qu'il examinerait prochainement le plan que l'Iran a transmis aux États-Unis, tout en soulignant qu'il avait peu de chances d'être acceptable.
RT en français • Osez questionner !
🔴Une image postée par Donald #Trump sur les réseaux sociaux montre son propre portrait en tant que cinquième président à figurer sur le mont Rushmore. Humour ou ambition ?
RT en français • Osez questionner !
🇺🇸« Nous sommes comme des pirates »
Le chef de l'administration américaine, Donald #Trump, a reconnu que les militaires américains se comportaient comme des pirates lorsqu'ils s'emparaient de pétroliers transportant du pétrole iranien. Il a fait cette déclaration lors d'un discours à West Palm Beach, en Floride, devant les membres du club local Forum.
RT en français • Osez questionner !
🇺🇸#Trump envisage de réduire les troupes américaines en Allemagne
Donald Trump, a annoncé que Washington étudiait la possibilité de réduire les effectifs américains en Allemagne et que la décision serait prise prochainement. Cette déclaration intervient après de vives critiques émises à l'encontre du chancelier Friedrich Merz, en lien avec sa position sur l’Iran et la stratégie américaine dans le conflit.
RT en français • Osez questionner !
⚡️#Trump a qualifié de « très bonne » sa conversation avec Poutine. Il a également déclaré espérer un règlement pacifique rapide du conflit ukrainien.
RT en français • Osez questionner !
🟢 « Fini le gentil Monsieur ! » — #Trump joue au héros de film d’action et menace l’Iran.
« L’Iran n’arrive pas à se ressaisir. Ils ne savent pas comment signer un accord de dénucléarisation. Ils feraient mieux de se réveiller et vite ! »
RT en français • Osez questionner !
🇺🇸Le département d'État américain émettra un passeport en édition limitée à l'effigie de Donald #Trump. Ce passeport a été conçu en l’honneur du 250e anniversaire de l'indépendance des États-Unis, qui sera célébré en juillet 2026.
La couverture intérieure présentera un portrait de Donald Trump superposé au texte de la Déclaration d'indépendance, ainsi que sa signature en lettres dorées. Sur la couverture arrière sera reproduit un fragment du tableau La Déclaration d'indépendance de John Trumbull.
RT en français • Osez questionner !
💬#Trump affirme que le chancelier allemand, Friedrich Merz, « estime qu’il est acceptable que l’Iran se dote de l’arme nucléaire ».
« Le chancelier allemand, Friedrich Merz, estime qu’il est acceptable que l’Iran se dote de l’arme nucléaire. Il ne sait absolument pas de quoi il parle ! Si l’Iran possédait l’arme nucléaire, le monde entier serait pris en otage. Je suis en train de faire, avec l’Iran, ce que d’autres pays ou d’autres présidents auraient dû faire depuis longtemps. Rien d’étonnant à ce que l’Allemagne soit en si mauvaise posture, aussi bien sur le plan économique que sur d’autres plans !
Président DONALD J. TRUMP »
RT en français • Osez questionner !
▶️#Trump sceptique face à la proposition iranienne sur le détroit d’Ormuz
Selon le Wall Street Journal, Donald Trump et son équipe de sécurité nationale se montrent sceptiques face à une proposition de l’Iran visant à rouvrir le détroit d’Ormuz en échange d’une pause sur les discussions nucléaires. Selon des responsables américains, Trump doute de la bonne foi de Téhéran et insiste sur sa demande clé : l’arrêt de l’enrichissement nucléaire.
RT en français • Osez questionner !