Для тех кто пишет расширения на 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
💥Ofertas para Bucarest💥
🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Bucarest (Rumanía) por 152€: del 03 al 10 de abril (PVP medio: 406.12 €)
🔘2: 🛫 Madrid - 🛬 Bucarest (Rumanía) por 45€: del 28 de abril al 09 de mayo (PVP medio: 120.16 €)
Vuelos con salida desde #Santa Cruz de Tenerife y #Madrid
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Ofertas para Burdeos💥
🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Burdeos (Francia) por 42€: del 15 al 21 de marzo (PVP medio: 134.34 €)
🔘2: 🛫 Valencia - 🛬 Burdeos (Francia) por 26€: del 02 al 06 de marzo (PVP medio: 73.76 €)
Vuelos con salida desde #Santa Cruz de Tenerife y #Valencia
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Ofertas para Oporto💥
🔘1: 🛫 Madrid - 🛬 Oporto (Portugal) por 18€: del 28 de julio al 04 de agosto (PVP medio: 77.0 €)
🔘2: 🛫 Barcelona - 🛬 Oporto (Portugal) por 23€: del 27 de julio al 03 de agosto (PVP medio: 84.1 €)
🔘3: 🛫 Santa Cruz de Tenerife - 🛬 Oporto (Portugal) por 71€: del 25 de julio al 08 de agosto (PVP medio: 170.68 €)
Vuelos con salida desde #Madrid, #Barcelona y #Santa Cruz de Tenerife
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Ofertas para Varsovia💥
🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Varsovia (Polonia) por 44€: del 23 al 26 de mayo (PVP medio: 169.42 €)
🔘2: 🛫 Madrid - 🛬 Varsovia (Polonia) por 27€: del 24 al 29 de mayo (PVP medio: 102.62 €)
🔘3: 🛫 Alicante - 🛬 Varsovia (Polonia) por 39€: del 09 al 16 de mayo (PVP medio: 102.24 €)
Vuelos con salida desde #Santa Cruz de Tenerife, #Madrid y #Alicante
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Ofertas para Oporto💥
🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Oporto (Portugal) por 75€: del 19 de abril al 03 de mayo (PVP medio: 197.3 €)
🔘2: 🛫 Palma de Mallorca - 🛬 Oporto (Portugal) por 40€: del 01 al 02 de abril (PVP medio: 97.64 €)
Vuelos con salida desde #Santa Cruz de Tenerife y #Palma de Mallorca
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Ofertas para Budapest💥
🔘1: 🛫 Santa Cruz de Tenerife - 🛬 Budapest (Hungría) por 126€: del 27 de abril al 01 de mayo (PVP medio: 384.52 €)
🔘2: 🛫 Málaga - 🛬 Budapest (Hungría) por 55€: del 07 al 21 de abril (PVP medio: 151.14 €)
🔘3: 🛫 Madrid - 🛬 Budapest (Hungría) por 44€: del 28 de abril al 12 de mayo (PVP medio: 110.32 €)
Vuelos con salida desde #Santa Cruz de Tenerife, #Málaga y #Madrid
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Ofertas para Varsovia💥
🔘1: 🛫 Madrid - 🛬 Varsovia (Polonia) por 28€: del 20 al 27 de mayo (PVP medio: 120.7 €)
🔘2: 🛫 Alicante - 🛬 Varsovia (Polonia) por 40€: del 09 al 16 de mayo (PVP medio: 122.0 €)
🔘3: 🛫 Barcelona - 🛬 Varsovia (Polonia) por 45€: del 07 al 11 de mayo (PVP medio: 132.64 €)
🔘4: 🛫 Santa Cruz de Tenerife - 🛬 Varsovia (Polonia) por 80€: del 23 al 30 de mayo (PVP medio: 192.86 €)
Vuelos con salida desde #Madrid, #Alicante, #Barcelona y #Santa Cruz de Tenerife
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫
💥Ofertas para Burdeos💥
🔘1: 🛫 Palma de Mallorca - 🛬 Burdeos (Francia) por 27€: del 03 al 06 de abril (PVP medio: 84.0 €)
🔘2: 🛫 Barcelona - 🛬 Burdeos (Francia) por 36€: del 11 al 15 de abril (PVP medio: 96.14 €)
🔘3: 🛫 Santa Cruz de Tenerife - 🛬 Burdeos (Francia) por 60€: del 19 al 26 de abril (PVP medio: 144.52 €)
Vuelos con salida desde #Palma de Mallorca, #Barcelona y #Santa Cruz de Tenerife
Más en:https://t.me/chollosdevuelos✅
El que no corre 🏃 vuela 🛫