Для тех кто пишет расширения на 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
🟣 | Swamp Thing: James Mangold podría dirigir la película más terrorífica de #DCStudios
Mangold es un veterano del cine basado en cómics después de escribir, dirigir y ser productor ejecutivo de una de las piezas más celebres del género, Logan, la tercera película de la saga de Lobezno protagonizada por Hugh Jackman, así como de otras entregas relacionadas con el mutante. Pronto estrenará 'Indiana Jones y el Dial del Destino', que llegará a los cines en mayo
Swamp Thing sería su nuevo proyecto, algo que sucede apenas 24 horas después del reinicio de DC Studios y su universo,
James Gunn habla sobre el futuro de Gal Gadot y Ezra Miller en #DCStudios
Aunque conozcamos ya las primeras películas y series que veremos en ese arranque de la nueva DC de Warner Bros. Discovery, de momento no conocemos quiénes serán los actores que den vida a los nuevos protagonistas, es decir:
quién será el nuevo Superman, quién se meterá en el traje del nuevo Batman, etc.
James Gunn aseguró que la anterior historia del universo DC "había sido una mierda", puesto que era inconexo y confuso.
El cineasta ha ido despejando dudas de los fans poco a poco con respecto a este reboot, y ha abordado también qué pasará con Gal Gadot y Ezra Miller después de hablar sobre que paso con Henry Cavill y que papel jugará Jason Momoa
Gal Gadot tiene la puerta abierta a continuar como #WonderWoman y Ezra Miller está pendiente de estrenar #TheFlash
"Espero con ansias los nuevos proyectos, pero estoy decepcionado con que hayáis perdido a Henry Cavill y Gal Gadot y todavía tengáis a Ezra cerca. Es un cabeza hueca, y Henry y Gal lo han hecho todo bien. Simplemente no tiene sentido", comentaba un seguidor a James Gunn en Instagram
A lo que el cineasta respondió: "No hemos perdido a Gal. La película de Ezra ya está hecha. Y Henry no encaja con mi Superman".
¿Qué quiere decir exactamente esto? Que Gal Gadot tiene la puerta abierta de par en par a continuar siendo Wonder Woman en el reboot y que Ezra Miller tiene que seguir, de momento, en #DCStudios debido a que tiene pendiente el estreno de The Flash, filme que reiniciará el DC cinematográfico por completo y dará paso a Dioses y Monstruos.