Qt (toolkit): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Aggiunto riferimento alla conferenza ufficiale italiana su Qt
 
(75 versioni intermedie di 58 utenti non mostrate)
Riga 1:
{{Software
| nomeNome = Qt
| logoLogo =[[File: Qt- logo-1- 2016.svg|64px]]
|DimensioneLogo = 100px
| screenshotScreenshot = [[File:Qt Designer 4 4 3.png|300px]]
| didascalia = Qt designer
|DimensioneScreenshot = 300px
| sviluppatore = [[Qt Software]]
| didascaliaDidascalia = Qt designer
| UltimaVersione = 4.7.4
| sviluppatoreSviluppatore = [[Qt Software]]
| DataUltimaVersione = [[1 settembre]] [[2011]]
|DataPrimaVersione = {{data e tempo|20|05|1995}}
| UltimaVersioneBeta =
| UltimaVersione = 4.7.4
| DataUltimaVersioneBeta =
| DataUltimaVersione = [[1 settembre]] [[2011]]
| sistema_operativo = [[Multipiattaforma]]
| UltimaVersioneBeta =
| genere = [[Widget toolkit]]
| DataUltimaVersioneBeta =
| linguaggio = [[C++]]
| sistema_operativoSistemaOperativo = [[Multipiattaforma]]
| licenza = licenza multipla: [[GNU LGPL]] <br />[[GNU GPL]] <br />[[Q Public License]]<br />[[Software proprietario|Licenza proprietaria]]
| genereGenere = [[Widget toolkit]]
| sito_web = [http://qt.nokia.com/ http://qt.nokia.com][http://www.qt-italia.org/]
| licenzaLicenza = licenza multipla: [[GNU LGPL]] <br />[[GNU GPL]] <br />[[Q Public License]]<br />[[Software proprietario|Licenza proprietaria]]
|SoftwareLibero =
|Lingua =
|Categorie = no
}}
 
In'''Qt''', in [[informatica]] ed in particolare nel campo della [[Programmazione (informatica)|programmazione]], '''Qt''' è una libreria [[multipiattaforma]] per lo sviluppo di programmi con [[GUI|interfaccia grafica]] (a parte per la divisione menzionata sotto 'console') tramite l'uso di [[widget (informatica)|widget]] (congegni o elementi grafici). Qt, ampiamente utilizzato nell'[[ambiente desktop]] [[KDE]], viene sviluppato dall'azienda [[Qt Software]] (meglio conosciuta come [[Trolltech]] o Quasar Technologies) di proprietà di [[Digia]].
 
Qt si dovrebbe pronunciare come l'[[Lingua inglese|inglese]] ''cute'', cioè "carino". La pronuncia in grafia italiana è ''chiùt'', anche se la pronuncia più intuitiva ''cutì'' non è rara (parallelamente, esiste la pronuncia inglese ''chiuttì'').<ref>[https://wiki.qt.io/Qt_for_Beginners#Introduction_to_Qt] Pronuncia dalla wiki del progetto</ref>
 
== Storia ==
Qt usa il linguaggio [[C++]] standard con un estensivo uso del preprocessore C per arricchire il linguaggio, ma esistono interfacce per [[Java (linguaggio)|Java]], [[Python]], [[C (linguaggio)|C]], [[Perl]] e [[PHP]]. Gira sulle piattaforme principali ed integra funzioni per l'accesso ai database [[SQL]], [[parsing]] di documenti [[XML]] ed [[Application programming interface|API]] multipiattaforma per l'uso dei file.
[[Haavard Nord]] e [[Eirik Chambe-Eng]] (rispettivamente lo sviluppatore originale di Qt al CEO e il presidente della [[Trolltech]]) iniziarono lo sviluppo di "Qt" nel [[1991]]. Tre anni prima la società era stata fondata come Quasar Technologies, poi cambiò il nome in Troll Tech, e infine in Trolltech.
 
Il toolkit fu chiamato Qt perché la lettera Q appariva bella nel carattere di [[Emacs]] Haavard, e la T fu ispirata dal [[Intrinsics|Xt]], il tool X. Un altro fattore può essere stato che la lettera Q non viene usata in [[Lingua norvegese|norvegese]], che sostituisce sistematicamente ''kv-'' a ''qu-'' in tutte le parole (in accordo con l'effettiva pronuncia): ciò rende la lettera Q "esotica", un po' come la K in italiano.
 
In norvegese, l'acronimo Qt si pronuncia ''cü-té''<!--SIC! Non tè, la E è da intendersi aperta.-->: in grafia norvegese, potrebbe scriversi "kute", e, per quanto strano, è una parola composta che significa "tè di mucca".
 
Qt è utilizzato in diverse applicazioni note, ad esempio [[Telegram]], [[Adobe Photoshop]], [[Dolphin (emulatore)|Dolphin]], software di grafica e disegno come [[Autodesk Maya]] o altri come [[WPS Office]].
 
== Caratteristiche tecniche ==
Qt usa il linguaggio [[C++]] standard con un estensivo uso del [[preprocessore]] C per arricchire il linguaggio, ma esistono interfacce per [[Java (linguaggio di programmazione)|Java]], [[Python]], [[C (linguaggio)|C]], [[Perl]] e [[PHP]]. Gira sulle piattaforme principali ed integra funzioni per l'accesso ai database [[SQL]], [[parsing]] di documenti [[XML]] ed [[Application programming interface|API]] multipiattaforma per l'uso dei file. La principale caratteristica di Qt è la gestione degli oggetti e l'interazione tra la parte grafica e logica tramite ''segnali'' e ''slot'', che permettono di assegnare facilmente funzionalità alla parte GUI e far interagire il codice creato con gli widget grafici.
 
La principale applicazione su cui si poggia è '''''Qt Creator''''', [[Ambiente di sviluppo integrato|IDE]] con le funzionalità sottoindicate presenti, principalmente '''Qt Designer'''. Esso supporta numerosi moduli di rete ('''''Qt Network'''''), interazione con grafici ('''''Qt Charts'''''), controlli multimediali ('''''Qt Multimedia''''') e grafici ('''''Qt Quick/Qt Widgets''''').
 
== Varianti ==
Le librerie Qt sono disponibili per queste ''piattaforme'':
* '''Qt/X11''' — Qt per [[X Window System]];
* '''Qt/Mac''' — Qt per [[Mac OS XmacOS]] di [[Apple]];
* '''Qt/Windows''' — Qt per [[Microsoft Windows]];
* '''Qt/Embedded''' — Qt per piattaforme embedded ([[Palmare|palmari]] e simili).
Riga 36 ⟶ 51:
* '''Qt Open Source Edition''' — la versione completa, per sviluppo di [[software libero]].
 
Le prime tre versioni sono rilasciatedistribuite sotto con una licenza commerciale; la versione libera, invece, viene rilasciataè sotto licenza [[GNU General Public License|GPL]]. A partire da Qt 4 inoltre, a differenza di Qt 3.3, Qt viene rilasciatopubblicato sotto doppia licenza (GPL e commerciale) anche su Windows.
 
L'edizione commerciale per Windows supporta [[Visual Studio]]; tutte supportano comunque il compilatore C++ [[GNU Compiler Collection|GCC]].
 
La squadra di KDE ha anche rilasciatopubblicato un'edizione di Qt, chiamata ''Qt/Windows Free Edition'' — basata sul [[codice sorgente]] della versione Qt/X11 e licenziata sotto GPL, viene rilasciatapubblicata per il progetto ''KDE via [[Cygwin]]''. Questo era stato ispirato dal fatto che le versioni di Qt precedenti alla 4.0 non erano disponibili come software libero sotto Windows.
 
== Storia ==
[[Haavard Nord]] e [[Eirik Chambe-Eng]] (rispettivamente lo sviluppatore originale di Qt al CEO e il presidente della [[Trolltech]]) iniziarono lo sviluppo di "Qt" nel [[1991]]. Tre anni prima la società era stata fondata come Quasar Technologies, poi cambiò il nome in Troll Tech, e infine in Trolltech.
 
Il toolkit fu chiamato Qt perché la lettera Q appariva bella nel carattere di Emacs Haavard, e la T fu ispirata dal [[Intrinsics|Xt]], il tool X. Un altro fattore può essere stato che la lettera Q non viene usata in [[Lingua norvegese|norvegese]], che sostituisce sistematicamente ''kv-'' a ''qu-'' in tutte le parole (in accordo con l'effettiva pronuncia): ciò rende la lettera Q "esotica", un po' come la K in italiano.
 
In norvegese, l'acronimo Qt si pronuncia ''cü-té''<!--SIC! Non tè, la E è da intendersi aperta.-->: in grafia norvegese, potrebbe scriversi "kute", e, per quanto strano, è una parola composta che significa "tè di mucca".
 
== Licenza ==
Delle polemiche scoppiarono attornoAttorno al [[1998]] accese polemiche scoppiarono quando divenne chiaro che KDE stava per diventare uno dei più importanti ambienti desktop per [[GNU/Linux]]. Poiché KDE era basato su Qt, molte persone nei movimenti [[open source]] e [[free software]] si preoccupavano che una parte essenziale del loro sistema operativo fosse non libera.
 
Per contrastare la situazione iniziarono due ambiziose iniziative: Harmony, che cercò di duplicare Qt sotto una licenza di [[software libero]], e l'ambiente [[GNOME]], che si basava sulle librerie [[GTK+]] nel [[1997]].
 
Fino alla versione 1.45, Qt usò la licenza [[FreeQt]] — che non era né open source né free software perché, sebbene il codice sorgente fosse disponibile, non ne era consentita la ridistribuzione di versioni modificate. Con illa rilasciopubblicazione della versione 2.0 della libreria, la licenza diventò la [[Q Public Licence]] (QPL), una licenza [[free software]] ma considerata dalla [[Free Software Foundation]] come incompatibile con la [[licenza GPL]]. Furono cercati dei compromessi tra KDE e la Trolltech in cui si decise che Qt non sarebbe potuto essere sotto una licenza più restrittiva della QPL, anche se la Trolltech fosse stata acquistata o fosse fallita. Questo consentì la creazione della [httphttps://www.kde.org/community/whatiskde/kdefreeqtfoundation.php KDE Free Qt foundation], la quale garantì che Qt sarebbe stato sotto la licenza BSD se nessuna versione open source di Qt fosse rilasciatapubblicata nell'arco di 12 mesi.
 
Infine, la libreria Qt fu rilasciatapubblicata sotto la licenza GPL a partire dalla versione 2.2 (per X11)<ref>[http://trolltech.com/company/newsroom/announcements/00000043 Trolltech offers a choice in licensing with the addition of GPL licensing for the upcoming release of Qt] {{webarchive|url=https://web.archive.org/web/20070504231424/http://www.trolltech.com/company/newsroom/announcements/00000043 |data=4 maggio 2007 }}, annuncio della Trolltech del 5 settembre 2000.</ref>, con l'alternativa di scegliere la QPL. Per motivi legali la QPL è ancora disponibile come licenza per X11, ma la Trolltech la considera obsoleta e ne sconsiglia l'uso<ref>[http://trolltech.com/products/qt/licenses/licensing/opensource Qt Open Source Edition Licensing] {{webarchive|url=https://web.archive.org/web/20070617230858/http://trolltech.com/products/qt/licenses/licensing/opensource |data=17 giugno 2007 }}, dal sito della Trolltech.</ref>.
Il 18 gennaio 2008 è statostata annunciatoannunciata illa rilasciopubblicazione di Qt 3 e Qt 4 sotto licenza GPL.
 
Dopo l'acquisizione nel 2008 di Trolltech (ora [[Qt Development Frameworks]]) da parte di Nokia, il 14 gennaio 2009 l'omonima azienda annuncia illa rilasciopubblicazione delle Qt 4.5 anche con licenza LGPL.
 
== Sistemi supportati ==
La prima versione di Qt ebbe solo due versioni: Qt/X11 per Unix e Qt/Windows per Windows. La versione per Windows fu distribuita con una licenza [[software proprietario|proprietaria]]. Alla fine del 2001 la Trolltech rilasciòpubblicò Qt 3.0 aggiungendo il supporto per [[Mac OS XmacOS]]. Questo supporto fu disponibile con una licenza proprietaria, fino a giugno 2003, quando la Trolltech rilasciòpubblicò la versione 3.2 nella quale la versione per Mac OS X fu disponibile con licenza GPL. Nel giugno 2005 anche la versione per Windows fu distribuita con [[licenza open source]]. Qt4 supporta questi sistemi sia nella versione proprietaria che in quella open source. Dalla versione 4.6 aggiunge il supporto a Symbian S60. Nel 2009 è stato per la prima volta compilato per [[Haiku (sistema operativo)|Haiku]].
 
===helloHello world in Qt===
<sourcesyntaxhighlight lang="cpp">
#include <QtGui>
 
Riga 75 ⟶ 83:
return app.exec();
}
</syntaxhighlight>
</source>
===Compilare ed eseguire il programma hello world===
1. Creare una directory chiamata Hello<br />2. Inserire il codice di cui sopra in un file chiamato Hello.cpp nella directory Hello<br />3. All'interno della directory Hello lanciare
2. Inserire il codice di cui sopra in un file chiamato Hello.cpp nella directory Hello<br />
3. All'interno della directory Hello lanciare
a. qmake -project
b. qmake
Riga 92 ⟶ 98:
* [[Qt Software]] (ex Trolltech)
* [[QML (linguaggio di programmazione)]]
* [[Qwt (libreria)]]
* [[Framework]]
 
== Altri progetti ==
{{interprogetto|commons=Category:Qt}}
 
== Collegamenti esterni ==
* {{Collegamenti esterni}}
{{Dmoz|}}
* {{lingue|en|ja|zh}}cita [web|http://www.trolltech.com |Home page di Trolltech]|lingua=en, ja, zh}}
* {{lingue|it}}cita [web|http://www.qtday.it |Conferenza Italiana Nokia Qt] |lingua=it}}
 
{{Portale|Software libero}}
 
{{Portale|informatica|Software libero}}
[[Categoria:Unix]]
[[Categoria:Linux]]
[[Categoria:Ambienti di sviluppo]]
[[Categoria:Interfacce grafiche]]
[[Categoria:KDE]]
 
[[arCategoria:كيوتQt| ]]
[[ca:Qt]]
[[cs:Qt (knihovna)]]
[[de:Qt (Bibliothek)]]
[[en:Qt (framework)]]
[[es:Qt (biblioteca)]]
[[eu:Qt]]
[[fa:کیوت]]
[[fi:Qt]]
[[fr:Qt]]
[[he:Qt (ערכת כלים)]]
[[hi:क्यूट]]
[[hu:Qt]]
[[id:Qt toolkit]]
[[ja:Qt]]
[[ko:Qt (툴킷)]]
[[lt:Qt]]
[[ml:ക്യൂട്ടി]]
[[nl:Qt-toolkit]]
[[nn:Qt]]
[[no:Qt]]
[[pl:Qt]]
[[pt:Qt]]
[[ro:Qt]]
[[ru:Qt]]
[[sl:Qt]]
[[sr:Qt]]
[[sv:Qt]]
[[th:คิวต์]]
[[tr:Qt (Çalışma Alanı)]]
[[uk:Qt]]
[[vi:Qt]]
[[zh:Qt]]