Для тех кто пишет расширения на 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
🪐 The quasar 3C 273, located in the constellation Virgo about 2.4 billion light-years from Earth, was the first quasar ever identified and remains one of the brightest in the sky. A quasar is a super-energetic beacon powered by a supermassive black hole devouring matter, shining so brightly that it can outshine entire galaxies, and 3C 273 helped scientists understand just how extreme and distant these cosmic engines can be. ✨
#quasars⚡#astronomy⚡#virgo⚡#nasa⚡#galaxy⚡#stars⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 The distance from Earth to the Virgo Cluster, a giant grouping of galaxies, is about 55 million light-years—meaning the light we see from its member galaxies, like Messier 87, began its journey long before the first dinosaurs appeared on our planet. Even within the Virgo Cluster, galaxies can be separated by hundreds of thousands of light-years, showing that cosmic neighborhoods are staggeringly vast compared to our entire solar system. ✨
#spacedistances⚡#galaxies⚡#virgo⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
🪐 Far out in the Virgo Cluster, astronomers observed a rare cosmic event called an "ultra-compact dwarf galaxy collision," where two tiny, densely packed galaxies like M60-UCD1 have smashed together. The aftermath of such a collision can create ultrabright X-ray sources and disrupt the structure of both galaxies, showing that even small galaxies can undergo dramatic and strange transformations when they collide in deep space. ✨
#cosmicphenomena⚡#collisions⚡#virgo⚡#nasa⚡#galaxy⚡#stars⚡#astronomy⚡#universe⚡#cosmos⚡#space
👉subscribe Universe Mysteries
👉more Channels
La manera de hacer enojar a cada signo😤:
#Aries♈️: Ignorandolo.
#Tauro♉️: Pedirle más de lo que puede hacer.
#Geminis♊️: Presionarlo a hacer algo que no quiere hacer.
#Cancer♋️: Obligale a admitir que está equivocado.
#Leo♌️: Niego sus palabras.
#Virgo♍️: Que le lleven la contraria en lo que sea.
#Libra♎️: Excluyendole de tus planes.
#Escorpio♏️: Cometiendo errores absurdos.
#Sagitario♐️: Cancelando un plan a última hora.
#Capricornio♑️: Dile cómo tiene que hacer las cosas.
#Acuario♒️: Cortale las alas.
#Piscis♓️: No le des las gracias nunca.
@EsTuHoroscopo.🔮
Lo que a los signos mas les gusta de su pareja🥰:
#Aries♈️: Que le dejé ponerse sus sudaderas.
#Tauro♉️: Que le haga una playlist.
#Geminis♊️: Que le dejé hablar de sus pasiones.
#Cancer♋️: Que hable de sus sentimientos sin timidez.
#Leo♌️: Que le diga que es el/la más guapx.
#Virgo♍️: Que siga hablándole aunque desaparezca durante días.
#Libra♎️: Que tengan el mismo gusto musical que él/ella.
#Escorpio♏️: Que se pueda hablar de cualquier cosa con su pareja.
#Sagitario♐️: Que se ría de cualquier meme que le enseñe.
#Capricornio♑️: Que vea cualquier serie con él/ella.
#Acuario♒️: Que entienda que necesita su espacio.
#Piscis♓️: Que recuerde cualquier pequeño detalle.
@EsTuHoroscopo.🔮