Qt

Da Gambas-it.org - Wikipedia.

Le librerie Qt (pronunciate "cute") sono un set di librerie multi-piattaforma create da TrollTech per lo sviluppo di applicazioni con o senza GUI. Sono ampiamente usate e diffuse: il desktop manager KDE è basato su di esse, così come importanti progetti quali GoogleEarth, il browser Opera e il software di VoIP Skype.

Storia

Le librerie nacquero nel 1991 e furono chiamate Qt per via del fatto che la lettera "Q" appariva carina nel font del programma di videoscrittura Emacs e la lettera "t" ricordava le Xt, sigla dell'"X toolkit".

Le librerie Qt non erano rilasciate sotto licenza GPL: questo causò grande confusione nel mondo opensource quando queste librerie furono scelte dagli sviluppatori di KDE come base grafica per il loro desktop manager. Fu questo lo stimolo per creare GNOME, un desktop alternativo a KDE completamente libero ed opensource e basato sulle GTK, che a differenza delle Qt erano rilasciate con licenza GPL.

Gli sviluppatori di KDE videro in questo un possibile ostacolo alla diffusione del loro desktop e fondarono nel 1998 la KDE Free Qt Foundation, una società che aveva lo scopo di prendere accordi con TrollTech per ottenere le Qt con licenza libera. La società, che all'epoca nonaveva la forza economica per sostenere la perdita di un "cliente prezioso" come KDE, cedette in parte e rilasciò le Qt sotto una licenza denomiata QTL, che si poneva a metà strada fra la GPL e la licenza proprietaria sotto cui venivano fino ad allora rilasciate le librerie. Ma la situazione non era migliorata di molto, perché i "puristi" del Free Software sostenevano che questa licenza non era lo stesso compatibile con la GPL e molte distribuzioni iniziarono ad adottare GNOME come desktop. Solo nel 2000 TrollTech ha deciso di rilasciare la versione per Unix delle Qt sotto licenza GPL pura.

Dati tecnici

Le librerie Qt sono programmate in C++ con diverse estensioni non stadard implementate da un pre-processore addizionale che poi genera del codice C++ standard durante la compilazione. Le Qt possono essere utilizzate anche con altri linguaggi di programmazione: esistono infatti numerosi binding, tra cui quelli per il Python, il Ruby, il Java, il Perl, il C#, ecc...