Для тех кто пишет расширения на 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
Giuliano #Amato sulla Strage di Ustica: “Il Dc9 fu abbattuto da un missile francese. Macron chieda scusa. Era scattato un piano per colpire l'aereo sul quale volava Gheddafi ma il leader libico sfuggì alla trappola perché avvertito da Craxi”
@UltimoraPolitics
Intelligenza artificiale, Giuliano #Amato lascia la presidenza della commissione algoritmi dopo la conferenza stampa di ieri di Giorgia #Meloni: "È una commissione della presidenza del Consiglio, e visto che la mia nomina non risulta essere un’iniziativa della presidente del Consiglio lascio senz’altro l’incarico". Poi aggiunge una battuta, ridendo: "Peccato, ci perdono qualcosa...Ma a me semplificherà la vita"
@UltimoraPolitics
Strage di Ustica, Matteo #Salvini: "Giuliano #Amato ha rilasciato dichiarazioni di inaudita gravità: è assolutamente necessario capire se ci sono anche elementi concreti a sostegno delle sue parole. Visto il peso delle affermazioni di Amato e il suo ruolo rilevante all’epoca dei fatti, attendiamo commenti delle autorità francesi"
@UltimoraPolitics
Giuliano Amato ha lasciato la Commissione che presiedeva e che si occupa dei possibili impatti dell'intelligenza artificiale.
Tutti a fare polemica: la verità è che si tratta di una bellissima notizia perché era assolutamente inadeguato a ricoprire quel ruolo.
La mia al TG Plus di Cusano Italia TV
#amato#intelligenzaartificiale
https://www.youtube.com/watch?v=fU7YnKQbeyQ&ab_channel=SavinoBalzano
Strage di #Ustica, Giorgia #Meloni: "Quelle di #Amato sono parole importanti che meritano attenzione ma sono frutto di personali deduzioni. Premesso che nessun atto riguardante la tragedia del Dc9 è coperto da segreto di Stato, e che nel corso dei decenni è stato svolto dall’autorità giudiziaria e dalle Commissioni parlamentari di inchiesta un lungo lavoro, chiedo al presidente Amato di sapere se, oltre alle deduzioni, sia in possesso di elementi che permettano di tornare sulle conclusioni della magistratura e del Parlamento, e di metterli eventualmente a disposizione, perché il governo possa compiere tutti i passi eventuali e conseguenti"
@UltimoraPolitics
Il teologo francescano Paolo #Benanti è il nuovo Presidente della Commissione sull'Intelligenza Artificiale per l'informazione, dopo le dimissioni di Giuliano #Amato
Professore della Pontificia Università Gregoriana, Padre Benanti è l'unico italiano membro del Comitato AI delle Nazioni Unite
@UltimoraPolitics
Strage di #Ustica, fonti #Eliseo sulle scuse ai familiari delle vittime chieste a #Macron da Giuliano #Amato nell’intervista di oggi a Repubblica: “No comment”. (Adnkronos)
@UltimoraPolitics