Для тех кто пишет расширения на 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
#Justicia🤮
👀 La corrupción en la justicia chilena tiene chipe libre
Por qué sacaron a la fiscal Ximena Chong❓
💯 Reportaje completo 👉https://youtu.be/FRErssCJtyU?si=9bmVZr5HJzhNTyiK
Vía 📱EL Mostrador
Síguenos t.me/Epinforma🔁 comparte
Con 24 días sin homicidios, abril 2023 se convierte en el mes más seguro de la historia para los salvadoreños.
De los 10 homicidios ocurridos, 9 han sido resueltos y los responsables ya están ante la #justicia.
Chile tiene sed de justicia en todos los ambitos 🤫
💥Fabricando pruebas en el estallido social: Carabinero recibe condena por falsificación y obstrucción a la justicia
#Chile#Política#Justicia
Vía
❌El Ciudadano @El_Ciudadano
Síguenos t.me/Epinforma🔁 comparte
🎙 "Para Romy Vargas, la justicia no se compra: su lucha es por la verdad, no por dinero."
Denuncia que, en lugar de respuestas, quisieron acallarla con un seguro de 16 millones. Apunta al General Iturriaga y exige justicia para su hijo.
❓Hasta cuándo la impunidad #Justicia#Verdad#Impunidad
Vía 📱delosquesobran
Síguenos t.me/Epinforma🔁 comparte
¡Operativo exitoso!
🎉 Trasladamos a 2,000 pandilleros al Centro de Confinamiento del Terrorismo (#CECOT). ¡Ya suman 4,000 reos en la cárcel más criticada del mundo! 🥱
#LuchaContraElCrimen💪🏼#Justicia🔒
ID: 1410
#ElSalvador🇸🇻
¡Resultados contundentes gracias al #RégimenDeExcepción! No nos detendremos en la lucha por la #justicia de millones de salvadoreños. 💪
¡Nosotros #seguimos adelante! 🇸🇻
📝 En solidaridad con Venezuela, la Internacional Antifascista, a través de su Capítulo Rusia, emite una declaración oficial condenando el secuestro y la retención forzada de niños y adolescentes venezolanos en los Estados Unidos.
Alexander Mudraguei, presidente de la Asociación de Amistad 🇷🇺🇻🇪 y miembro de la Internacional Antifascista en su Capítulo Rusia, expresó con firmeza:
"Los niños son el futuro de cada país. El imperialismo estadounidense intenta, a través de acciones inhumanas, dañar el futuro de 🇻🇪. Protestamos enérgicamente contra esto y pedimos a las autoridades venezolanas que apliquen una política permanente en todas las estructuras (…) tanto en los EEUU como en los tribunales internacionales, y exigir la devolución de sus hijos."
“Este acto inhumano nos alarma y moviliza. La comunidad internacional debe actuar para proteger a los más vulnerables y garantizar la justicia. Venezuela, estamos con ustedes. ¡Viva Venezuela!” 🇻🇪✊
#SolidaridadVenezuela#NoAlFascismo#Justicia#MigrarNoEsDelito
La FGR ya abrió la caja negra de Chihuahua‼️
Ulises Lara informó que serán citados agentes que participaron en el operativo en la Sierra del Pinal para esclarecer quién autorizó la entrada de la CIA al laboratorio clandestino.
Porque una cosa es combatir al crimen… y otra muy distinta permitir que agentes extranjeros operen en territorio nacional sin explicar quién dio la orden.
La pregunta es directa: ¿quién autorizó la entrada?
#Chihuahua#FGR#Soberanía#Justicia#México#SinLínea
🔴Más información: https://shorturl.at/ILiJe
La voluntad política también se demuestra escuchando ☝️
‼️El Alto Comisionado de la #ONU reconoció la disposición de la presidenta #ClaudiaSheinbaum para atender una de las heridas más dolorosas del país: la crisis de desapariciones.
🔴No se trata de negar el problema, sino de enfrentarlo con cooperación, verdad, justicia y acompañamiento internacional.
Mientras otros politizan el dolor, el Gobierno de México abre diálogo y busca soluciones.
Con las víctimas al centro, México avanza.
#Sheinbaum#DerechosHumanos#Desapariciones#México#ONU#Justicia#SinLínea