Для тех кто пишет расширения на 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
💬Commentaire du directeur général de Rosatom Alexeï #Likhatchov sur la situation à la centrale nucléaire de Zaporojié et à Énergodar
« Pour le troisième jour consécutif, nous constatons une activité très intense de l’armée ukrainienne à Énergodar, une des villes les plus importantes pour Rosatom. Il s’agit de frappes visant les infrastructures urbaines, notamment la station de distribution de gaz et des zones résidentielles. Avant-hier, plus de 20 explosions ont été enregistrées. Cinq voitures ont brûlé et un véhicule de pompiers a été gravement endommagé », a déclaré Alexeï Likhatchov.
⏺ Selon lui, plusieurs impacts ont visé directement le bâtiment de l’administration municipale. Un des drones kamikazes a frappé l’entrée du sous-sol qui sert d’abri antiaérien aux employés de la mairie. À la suite de l’explosion, un générateur diesel et une voiture garée à proximité ont pris feu. Du 30 avril au 3 mai, la ville a subi une coupure totale d’électricité en raison de dommages causés aux équipements électriques de la région. Le 5 mai, l’approvisionnement en électricité a été entièrement rétabli.
« Des installations de la centrale de Zaporojié ont également été attaquées. Le samedi 2 mai, un drone a frappé le bâtiment du laboratoire de suivi des radiations. Il n’y a pas eu de victimes. Nous enregistrons presque quotidiennement des frappes sur la sous-station électrique "Radouga", ce qui rend les travaux de réparation impossibles », a-t-il souligné. « Nous avons déclaré à maintes reprises que prendre pour cible une centrale nucléaire est un geste totalement irresponsable de la part des autorités ukrainiennes. Dans toute centrale de Rosatom, la sécurité des installations est une priorité absolue », a ajouté Likhatchov.
RT en français • Osez questionner !
ℹ️Le site de la centrale nucléaire de Bouchehr en #Iran reprend progressivement ses activités : environ 2 200 employés sont déjà revenus sur le chantier.
C’est ce qu’a annoncé le directeur général de Rosatom, Alexeï #Likhatchov. Selon lui, la situation reste globalement calme et le nombre de travailleurs iraniens continue d’augmenter.
Il a ajouté que la centrale se tenait prête à une mobilisation rapide et au retour complet de son personnel en République islamique dès que les risques de reprise des hostilités seront écartés.
RT en français • Osez questionner !
🔵Ursula von der Leyen a récemment reconnu que la plus grande erreur était de renoncer à l’énergie nucléaire en #Europe.
Alexeï #Likhatchov, directeur général de Rosatom, a pris cette nouvelle avec le sourire.
RT en français • Osez questionner !
💬Le 21 avril, Alexeï #Likhatchov, directeur général de la société d'État Rosatom, a effectué une visite de travail en #Turquie.
« La priorité absolue de la société publique Rosatom est de procéder au démarrage du premier réacteur de la centrale nucléaire d’Akkuyu, de connecter l’unité au réseau et de fournir la première électricité », a-t-il souligné dans son discours.
RT en français • Osez questionner !
❗️La situation à la centrale nucléaire de #Bouchehr en Iran continue de se détériorer en raison des bombardements, a déclaré Alexeï #Likhatchov.
Un projectile a explosé pour la troisième fois près d’une station de pompage qui assure notamment l’approvisionnement en eau des équipements du réacteur, ce qui constitue une menace directe pour la sûreté nucléaire, a souligné le chef de Rosatom.
RT en français • Osez questionner !
⏺Entre mémoire de #Tchernobyl et « fièvre atomique »
À l’occasion des 40 ans de la catastrophe de Tchernobyl, Alexeï #Likhatchov, directeur général de #Rosatom, insiste sur les leçons tirées de ce désastre, présenté comme un tournant majeur pour la sûreté nucléaire, et rend aussi hommage aux liquidateurs.
Cet événement a conduit à une transformation profonde du secteur : renforcement des normes, développement de systèmes de sécurité passifs et réduction drastique du facteur humain dans la gestion des centrales. La filière russe repose désormais sur des principes de sécurité inconditionnels, tout en intégrant les technologies les plus avancées.
Dans ce contexte, Moscou plaide pour une adaptation des règles internationales afin d’accompagner les nouvelles technologies, tout en s’appuyant sur l’expérience acquise depuis une autre catastrophe, celle de Fukushima.
RT en français • Osez questionner !