Для тех кто пишет расширения на 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
#ULTIMORA
Giorno del Ricordo, spaccata la targa in memoria delle vittime delle #Foibe a Firenze, nella piazza dedicata ai martiri dell'Istria e della Venezia Giulia. Ripristinata solo pochi giorni fa, dopo un precedente vandalismo, è stata rotta di nuovo
🗞@ultimora24
Ci sono pagine di storia poco raccontate perché parlano di persone comuni.
Di case rubate.Di notti interrotte. Di vite spezzate nel silenzio.
Tra il 1943 e il 1947 migliaia di italiani dell’Istria, di Fiume e della Dalmazia furono portati via così: senza spiegazioni, senza ritorno.
Molti vennero gettati nelle foibe.
Senza un nome. Senza una tomba.
E chi sopravvisse fu costretto a lasciare tutto: la propria terra, i ricordi, l’identità.
Oltre 250.000 persone in fuga con una valigia piena di assenze.
E all’arrivo, spesso, insulti e diffidenza.
Per troppo tempo questa storia è stata ignorata.
Ma il dolore non sparisce se lo cancelli.
#italia#storia#foibe#accaddeoggi#storiaitaliana
#Foibe#GiornoDelRicordo#Storia
In queste settimane si parla molto delle foibe. Spesso, però, la discussione viene strumentalizzata per fini politici e propagandistici, senza alcuna volontà di fare luce sulla complessità storica o di cercare una vera riconciliazione.
Per comprendere davvero quella tragedia, bisogna partire dalla STORIA, dai fatti documentati e inoppugnabli che l'hanno preceduta. Solo così si può onorare tutte le vittime innocenti e togliere ossigeno a chi alimenta odi per un pugno di voti.
Il mito degli "italiani brava gente" nasconde una rimozione collettiva. Secondo documenti delle Nazioni Unite e studi storici (come quelli di M. Palombo per la BBC), durante il periodo coloniale e la Seconda Guerra Mondiale, fascisti e esercito italiano uccisero oltre un milione di persone, tra cui 300.000 nella sola Jugoslavia.
800 italiani furono dichiarati criminali di guerra dalle Nazioni Unite e mai processati. Nei campi di concentramento italiani, come quello di Rab (Arbe), morirono migliaia di jugoslavi. L'Alto Commissario per la Provincia di Lubiana documentò nel 1942 condizioni atroci nel campo di Arbe. La risposta del generale Gastone Gambara fu: "Logico ed opportuno che campo di concentramento non significhi campo d'ingrassamento".
Circolari militari come la 4C del generale Roatta sancivano la ferocia della repressione: "testa per dente", non "dente per dente". Ordini che portarono a eccidi come quello di Gramozna Jama.
Già dagli anni '20, il fascismo attuò nelle terre del confine orientale una spietata politica di snazionalizzazione, italianizzazione forzata (cognomi, toponimi, lingue), chiusura di scuole e associazioni slave, deportazioni. I territori che l'Italia rivendicava e occupò nell'aprile 1941 erano abitati a maggioranza da popolazioni slave, come documentano anche le carte etniche di Cesare Battisti.
Le vittime accertate delle foibe sono circa 2.000-3.000. Tra loro ci furono innocenti, ma anche fascisti e collaborazionisti che in quelle zone si erano macchiati di atrocità contro la popolazione civile. Non si può estrapolare quegli eventi dal loro contesto storico: furono, in parte, l'onda lunga di una violenza iniziata molto prima.
Prima di giudicare, l'Italia dovrebbe fare i conti con la sua storia di aggressioni: dall'Eritrea alla Somalia, dalla Libia alla Grecia, all'invasione della Jugoslavia nel 1941. Quando avremo una giornata del ricordo per tutte le vittime innocenti dei crimini italiani? Sarebbe un atto di pace e riconciliazione vero.
La riconciliazione nazionale è già avvenuta il 25 aprile 1945, con la sconfitta del fascismo e la vittoria della Liberazione. Come scriveva Giorgio Bocca, si può avere pietà per le persone, ma non si può revisionare l'orrore delle idee barbare e assassine. Onoriamo la memoria di tutti gli innocenti, rispettando la verità storica.
#StoriaVera#Resistenza#Antifascismo#MemoriaCondivisa
https://www.marx21.it/storia-teoria-e-scienza/foibe-si-foibe-no-come-si-arriva-storicamente-a-quegli-avvenimenti-tragici/