Для тех кто пишет расширения на 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
¡Se quebró! 🤯
🔴 Con la voz entrecortada y al borde de las lágrimas, #Faitelson ofreció disculpas a #JoséRamónFernández durante un evento en #Pachuca📹👀
https://sinlineamx.com/faitelson-se-disculpa-con-jose-ramon-fernandez/
🚆Поезд Ciudad de México–Pachuca: час пути и новые возможности
В 2027 году в Мексике планируют запустить скоростной поезд, который свяжет столицу страны с городом Пачука всего за 1 час 15 минут. Президент Клаудия Шейнбаум сообщила, что проект должен быть завершён в первом полугодии 2027 года.
Что даст новый поезд?
— Удобное и быстрое сообщение между двумя важными городами.
— Создание новых рабочих мест и стимул для бизнеса.
— Повышение транспортной доступности для жителей и туристов.
Параллельно — строительство «Комплекса благополучия» (Polo de Bienestar)
Вдоль железнодорожной линии в штате Идальго появится масштабный комплекс площадью 950 гектаров. В нём разместятся предприятия, жилые дома, школы, больницы и зоны отдыха. По словам Шейнбаум, этот «Комплекс благополучия» станет новым центром экономического и социального роста региона.
Поддержка и сотрудничество
Президент поблагодарила владельцев общинных земель за содействие, а также военных инженеров за профессионализм и честность при строительстве.
«Мы движемся вперёд, и скоро этот поезд станет реальностью. Трансформация продолжается»,
— подчеркнула Шейнбаум.
Запуск поезда и строительство «Города благополучия» могут стать важнейшим шагом в развитии центрального региона Мексики, соединяя современные транспортные решения с созданием комфортной городской среды.
#Мексика#Транспорт#ЖД#Инфраструктура#CiudadDeMexico#Pachuca#КлаудияШейнбаум#Экономика#Развитие
👉Всегда свежие новости о странах Латинской Америки!
Mexico Liga MX🇲🇽
2026-04-04 23:00 UTC
Monterrey vs. Atletico San Luis
Predicted outcome: Monterrey❌
Predicted score: 3:1
Actual: Atletico San Luis 1:2
#Monterrey#AtleticoSanLuis
2026-04-04 23:00 UTC
Club Queretaro vs. Toluca
Predicted outcome: Toluca❌
Predicted score: 1:2
Actual: Club Queretaro 1:0
#ClubQueretaro#Toluca
2026-04-05 01:05 UTC
Cruz Azul vs. Pachuca
Predicted outcome: Cruz Azul❌
Predicted score: 2:1
Actual: Pachuca 1:2
#CruzAzul#Pachuca
2026-04-05 01:06 UTC
Leon vs. Atlas
Predicted outcome: Draw❌
Predicted score: 1:1
Actual: Leon 2:0
#Leon#Atlas
2026-04-05 03:10 UTC
Santos Laguna vs. Club America
Predicted outcome: Club America❌
Predicted score: 1:2
Actual: Draw 1:1
#SantosLaguna#ClubAmerica
#Football#MexicoLigaMX