Qt Animation Framework overview

"Accidenti - grideranno alcuni - un altro post serio... Cosa starà succedendo?". Ebbene, sembra che in questo momento io abbia decisamente poco da fare, qua a lavoro. E le direttive sono:

  1. Apriti una birra.

  2. Apri un sacchetto di patatine.

  3. Mentre mangi e bevi documentati su qualcosa e approfondisci argomenti che possano esserti di aiuto in ambito lavorativo.

Ovviamente l'unica direttiva seria è la terza. E io l'ho seguita alla lettera.

Ultimamente mi sono trovato spesso a lavorare con il C++, linguaggio che conosco per sentito dire e che è notoriamente abbastanza complesso. Per colmare queste lacune, senza però trascurare il lato divertente della cosa, ho deciso di sperimentare con il C++ e il Qt Animation Framework. Ah, questo sconosciuto!

Per la vostra gioia condividerò con voi le mie prove, per darvi eventuali spunti, nonché per ricevere eventuali critiche e suggerimenti su come migliorare il tutto.

Comunicazione di servizio. Il tag codeblock di b2evolution non funziona a modo, ma dato che volevo pubblicare il post prima dell'uscita di Qt5 ho deciso di infischiarmene, dei problemi di formattazione, e di postarlo lo stesso. Spero che i contenuti risultino abbastanza interessanti da far dimenticare le enormi praterie che vengono fuori chissà per quale motivo, sotto gli ultimi codeblock.

EDIT: Grazie al nostro amico Slash ora tutto funziona come dovrebbe (a parte lo skin, che ancora proprio non va bene)...

Read more »

Compilare ed installare PyQt4 su Snow Leopard

Come tutti voi sapete, sono un amante di Python e Qt4. Apprezzo anche abbastanza PyQt4, anche se non mi piace il modo in cui Phil Thompson ne gestisce lo sviluppo: non sopporto il fatto che, pur con ottime motivazioni, venga modificata la API (per esempio del famigerato QVariant) in una minor release e via dicendo.

Inoltre, con l'aggiornamento a Snow Leopard, è sorta tutta un'altra serie di problemi di compatibilità tra Qt, PyQt e il sistema. Ma dato che PyQt è uno degli strumenti che più di tutti utilizzo nel mio lavoro, mi sono trovato nell'esigenza di far funzionare il tutto nel modo migliore possibile.

Ecco quindi una breve guida sull'installazione di Qt4 e PyQt4 su Snow Leopard.

Read more »

Indiana Duplo e l'ultima toolchain.

Potrebbe sembrare un titolo stupido, ma quello che andrò a raccontarvi è invece un evento realmente accaduto.

Chi tra voi, miei dolci lettori, non ha mai avuto l'esigenza di rimuovere ogni traccia di dato dal proprio sistema, per partire da zero con una nuova installazione? Anche se ho un mac, e anche se con Mac OS X questo non sarebbe assolutamente necessario, ho deciso, per rimuovere tutti i servizi, serviziucci e servizietti che avevo installato, di brasare totalmente l'HD del macbook pro e di reinstallare Snow Leopard da zero.

Ovviamente l'installazione è andata a buon fine. Tutto si è risolto felicemente e vissero tutto felici e contenti, perlomeno fino a ieri sera. Catturato dalla mia vena nerd ho deciso di provare a vedere a che punto era il support per il Qt Animation Framework in PyQt4. Ho scaricato i sorgenti, eseguito un bel configure, ed infine dato un fantastico make! Ma qualcosa è andato storto.

[519][duplo@greenhill: PyQt-mac-gpl-4.7-snapshot-20091223]$ make
-bash: make: command not found

COSA? perché make non esiste più? Dopo un breve momento di panico, mi sono ricordato della formattazione dell'HD e della conseguente reinstallazione e il recupero da Time Machine.

Morale della favola: anche se XCode risulta ancora installato, vado sul centro totale di raccolta di strumenti di sviluppo Apple, metto a scaricare l'ultima versione di XCode (nel mio caso ho messo a scaricare anche iPhone SDK) e mi doto di tanta, tanta, tanta, pazienza. Appena finito il download, installo e tutto funziona magicamente. Non lasciatevi ingannare, come me, dal fatto che XCode sembri sempre al suo posto. I tool di sviluppo, le utility a riga di comando e tutti i frameworks non vengono salvati e recuperati da Time Machine!

Nelle mie intenzioni iniziali volevo scrivere un bell'articolo sul livello di maturità del Qt Animation Framework usandolo da PyQt, ma questo, date le difficoltà tecniche, verrà pubblicato in futuro.

Confronto PySide - PyQt

Recentemente è stato annunciata la prima release di PySide un set di bindings Python - Qt sviluppato da OpenBossa e sponsorizzato direttamente da Nokia.

Di seguito spiego i numerosi aspetti positivi di questi nuovi bindings, e i motivi per cui al momento non parteciperò attivamente al loro sviluppo e non li utilizzerò nelle mie applicazioni.

Partiamo con ordine. Nokia ha rilasciato il suo N900 il primo internet table Maemo based che funziona come telefono. Maemo è una piattaforma basata su Debian, che oramai ha raggiunto un discreto livello di maturità. Recentemente, successivamente all'acquisizione di Qt da parte di Nokia, è stata annunciata la prossima migrazione a Qt come toolkit di sviluppo, e quindi l'abbandono della piattaforma gnome-gtk che prima caratterizzava questi tablet. Per incentivare gli sviluppatori a produrre software per questo ottimo oggetto Nokia ha deciso di rendere disponibili anche i binding python-qt. Dopo un primo tentativo di accordo con Riverbank Computing (proprietaria del copyright di sip e PyQt) non andato a buon fine, ha deciso di rilasciare dei suoi bindings, sotto licenza LGPL. Ecco quindi come PySide ha avuto origine.

Read more »

PySide - Python bindings for Qt from Nokia

Sono sempre stato un assiduo utilizzatore di PyQt4. Ottimi bindings per un ottimo framework e un ottimo linguaggio. Ma oggi ho scoperto dell'esistenza di PySide, binding rilasciato dalla Nokia, che non è riuscita a raggiungere un accordo con la Riverbank Computing (quella di Phil Thompson, di PyQt, PyKDE ecc...). Beh, non voglio sbilanciarmi troppo, non ho ancora fatto prove di nessun tipo, ma intendo provarlo al più presto. PyQt4 è ottimo, davvero. Ma ha tutta una serie di problemi. Sono curioso di vedere se i binding ufficiali possono fare di meglio.

Ecco un link al sito:

http://www.pyside.org/