Qt Framework
    02. 2009
    Open Source




                            Autore: P. Sereno



  Argomenti trattati:
     ...
Qt Framework                                                      Pagina 2 di 6

                            Che cosa è Qt...
Pagina 3 di 6                                                    Qt Framework

Storia di Qt
Il toolkit Qt fu inizialmente ...
Qt Framework                                                   Pagina 4 di 6


                             Qt 3
         ...
Pagina 5 di 6                                                    Qt Framework


Perché usare Qt ?
Per sistemi UNIX, Qt    ...
KDE e Qt
                                   La potenza di Qt è di          parole, se è valido il detto       intenzioni d...
Upcoming SlideShare
Loading in...5
×

Che cosa è il Qt Framework

4,297

Published on

Introduzione al Qt Application Framework.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
4,297
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
70
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Che cosa è il Qt Framework

  1. 1. Qt Framework 02. 2009 Open Source Autore: P. Sereno Argomenti trattati: Premessa Questa presentazione è rilasciata sotto Licenza - Cosa è Qt? Creative Commons: Attribution-NonCommercial-NoDerivativeWorks (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.it). - Storia di Qt Questo documento può quindi essere riprodotto senza violare nessuna legge, - Perché usare Qt? sia in versione elettronica, sia in versione cartacea, purché sia riprodotto integralmente in tutte le sue parti, compresa la pagina che contiene queste - Cross-platform informazioni: - KDE e Qt Versione originale scaricabile dal sito http://www.sereno-online.com/site/ - Linguaggi supportati Tutti i marchi riportati in questa pubblicazione appartengono ai rispettivi proprietari. Scopo Scopo di questa presentazione è fornire informazioni divulgative a un pubblico Notizie chiave: specifico. Questo tipo di pubblicazione si propone infatti di fornire una prima introduzione all’utilizzo del Qt Application Framework per lo sviluppo di Qt è gratis! applicazioni software cross-platform in ambito Open Source. Esulano dallo Qt è cross-platform scopo di questo documento l’approfondimento degli aspetti legati alla licenza commerciale di Qt e l’approfondimento degli aspetti legali e/o normativi implicati KDE usa Qt dall’adozione di una licenza GPL o LGPL.
  2. 2. Qt Framework Pagina 2 di 6 Che cosa è Qt? Qt è una libreria di classi Cio’ e’ stato reso possibile molti campi per ed un insieme di strumenti grazie all’adozione di applicazioni sia open per lo sviluppo di un’interfaccia di source, sia commerciali. interfacce utente grafiche programmazione delle Gli esempi più famosi (GUI) multi piattaforma, e’ applicazioni (API) unica citati dalla stessa conosciuto infatti anche ed indipendente Trolltech, sono Adobe con il nome di toolkit Qt. dall’hardware e dal Photoshop Album Sviluppato in origine, dalla software di sistema. (elaborazione ed norvegese Trolltech, ora Insieme con la libreria di archiviazione immagini), acquistata da Nokia, Qt classi, vengono forniti Skype (comunicazioni permette lo sviluppo strumenti di supporto per il VoIP) e Scribus (editing e Qt è una libreria di software secondo la design grafico (Qt desktop publishing). classi ed un insieme di filosofia “write once, Designer), per la strumenti per lo compile anywhere”, che traduzione linguistica (Qt sviluppo di interfacce significa letteralmente Linguist) e il manuale in “scrivi una sola volta e linea (Qt Assistant). utente grafiche (GUI) compila ovunque”. In altre Molte distribuzioni Linux parole, Qt permette agli (tra le maggiori troviamo sviluppatori di scrivere Debian, SuSE, RedHat) codice sorgente contengono il toolkit Qt, perfettamente compilabile esso è la base su cui è su diversi sistemi stato costruito l’intero operativi, quali ad desktop environment KDE esempio MS Windows, ed è stato integrato sin Mac OS X, Linux, Solaris, dall’inizio nell’IDE di HP-UX, molte versioni riferimento per il mondo UNIX con grafica X11 ed KDE, ovvero Kdevelop. embedded Linux. Qt è attualmente usato in Qt è gratis! Qt è disponibile per il verrà aperto alla crattere meno “virale” download all’indirizzo: collaborazione esterna. della GPL e consente, tra http://www.qtsoftware.com L’annuncio di questa l’altro, di includere il E’ possibile scaricare gli nuova era dello sviluppo codice Qt anche all’interno eseguibili e i sorgenti di Qt è stato infatti dato da di applicazioni closed dell’intero toolkit per i Nokia ad inizio 2009 e si source. diversi sistemi operativi inserisce nel contesto supportati. A partire alla inquadrato dall’adozione versione 4.5 il repository della LGPL (v. 2.1) che ha
  3. 3. Pagina 3 di 6 Qt Framework Storia di Qt Il toolkit Qt fu inizialmente migliore dei modi e si Nell’aprile 1997 il sviluppato dai fondatori dovette attendere sino ad fondatore del progetto della Trolltech, Haavard aprile 1995 per avere il KDE, Mattias Ettrich Nord ed Eirik Chambe primo contratto; il nome Qt decise di adottare Qt per il Eng. Lo sviluppo di un venne scelto perché la suo progetto e, con il toolkit in C++ per la lettera ‘Q’, tra i caratteri rilascio della versione 1.2, realizzazione di Graphical disponibili su Emacs, il toolkit Qt divenne lo User Interface (GUI) iniziò piaceva ad Haavard e la standard “de facto” per la nel 1988, per conto di lettera ‘t’ venne aggiunta realizzazione di GUI in un’azienda svedese, che per rappresentare la C++ per Linux. Qt: le fondamenta su cui è commissionò il lavoro ai parola inglese “toolkit” stato costruito KDE. due ricercatori e due anni (letteralmente l’insieme di Nel 1998, Mattias decise più tardi, venne strumenti di lavoro). di entrare a far parte del completato lo sviluppo di team di sviluppatori un’applicazione per la Il 20 maggio venne Trolltech (attualmente gestione di una banca dati rilasciata la versione 0.90 ricopre il ruolo di vice di immagini, ottenute da del toolkit e resa presidente) e contribuì al apparecchiature mediche disponibile su rilascio della versione 2.0. ad ultrasuoni; poiché sunsite.unc.edu, sei giorni Questa versione questa applicazione dopo venne annunciata sul conteneva un gran numero doveva permettere newsgroup di cambi nell’architettura e l’esecuzione comp.os.linux.announce. rappresentò un notevole dell’interfaccia utente su balzo in avanti nella sistemi MS Windows, Mac realizzazione di un toolkit Questa fu la prima release e UNIX, gettò le basi di stabile e maturo; vennero pubblica di Qt, essa quello che oggi è uno dei aggiunte quaranta nuove poteva essere usata sia punti di forza di Qt: la per lo sviluppo di classi, tra cui il supporto portabilità del codice interfacce grafiche per MS per l’UNICODE e sorgente su diverse Windows, sia per Linux ed nell’agosto del 1999 vinse piattaforme o, come si dice il LinuxWorld award come offriva le stesse API su correntemente, lo sviluppo miglior libreria software. entrambe le piattaforme. “cross-platform”. Qt fu reso disponibile secondo due licenze d’uso L’anno 2000 segna Nel 1991 si iniziò a sin dal primo giorno: la l’ingresso sul mercato scrivere le prime classi di licenza commerciale dell’ambiente Qt a seguito dell’idea di serviva per lo sviluppo di Qt/embedded, concepito implementazione del applicazioni commerciali o appositamente per meccanismo di “close source” e la free supportare la piattaforma Signals&Slots, un software edition per lo Linux/embedded. In semplice ma potente sviluppo di applicazioni quell’anno, Trolltech modo per far comunicare open source. decise di cambiare la sua tra loro le classi del toolkit. politica di licenza da QPL Nel 1993, dopo aver Nel marzo 1996, l’agenzia (politica open source trascorso due anni a spaziale europea (ESA) appositamente redatta lavorare sul progetto dalla Trolltech) a favore divenne il secondo cliente senza contratti e senza della ben più nota ed della Trolltech e da questo stipendio, Haavard ed Eirik accettata GPL. Questo momento iniziò un periodo resero disponibile il primo cambiamento venne che portò in breve tempo kernel grafico e decisero di al rilascio della versione accolto con entusiasmo entrare in affari 0.97 (maggio), della dalle comunità open presentando al mondo “il source (KDE per prima) di versione 1.0 (settembre) e miglior GUI toolkit in C++ tutto il mondo. prima della fine dell’anno multipiattaforma”. si giunse alla versione 1.1 usata da otto diversi Il 1994 non iniziò nel clienti.
  4. 4. Qt Framework Pagina 4 di 6 Qt 3 Il nuovo attesissimo balzo aggiunse quarantadue sviluppatori (open source in avanti avvenne nel nuove classi e il codice e non) di tutto il mondo, 2001 con il rilascio della superò le 500.000 linee. sia per le eccellenti versione 3.0. caratteristiche tecniche Dal 2001 al 2005 si è del prodotto, sia per la Il nuovo attesissimo Qt era ora disponibile per passati attraverso politica di rilascio del balzo in avanti avvenne MS Windows, UNIX, numerose minor releases prodotto aperta e nel 2001 con il rilascio Linux, Embedded Linux e che hanno fatto del toolkit lungimirante. della versione 3.0. Mac OS X. Qt 3.0 Qt un mito tra gli Qt 4 A partire dalla quarta Scribe, il renderer per di scripting QtScript che major release, sono state testo unicode va a sostituire introdotte nuove il "glorioso", ma meno tecnologie nel "core" della Mainwindow, ovvero la performante QSA. Libreria, particolarmente nuova modalità di utili per KDE. gestione della main Fondamentalmente esse window di una qualsiasi sono: applicazione Qt. Arthur, il nuovo sistema Unitamente a ciò, è stato di disegno dei widgets. introdotto il nuovo motore 2008: Nokia acquista Trolltech Nel giugno 2008 la più mature piattaforme interessante per finlandese Nokia ha open source per il contrastare l’ascesa di acquistato la piccola mercato Android come futuro Trolltech offrendo circa embedded/mobile: standard per la telefonia 850 milioni di corone Qtopia, anch’essa cellulare. norvegesi (poco più di 100 rilasciata sotto licenza milioni di euro), una GPL. somma significativamente superiore al valore delle La versione Phone Edition Nel giugno 2008 la azioni di Trolltech. di Qtopia (piattaforma finlandese Nokia ha Occorre sottolineare che operativa per la telefonia acquistato la piccola al momento cellulare), di recente Trolltech offrendo circa dell’acquisizione, Nokia è introduzione nel mercato, 850 milioni di corone entrata in possesso, ha sicuramente norvegesi (poco più di unitamente al Qt rappresentato per Nokia 100 milioni di euro) framework, di una tra le un’opportunità
  5. 5. Pagina 5 di 6 Qt Framework Perché usare Qt ? Per sistemi UNIX, Qt royalty per ogni portare il codice sorgente rappresenta un’ottima applicazione venduta). scritto anche su altre possibilità, è portabile, è Supponiamo che si voglia piattaforme, sarà veloce, facile da imparare scrivere software sufficiente la ed usare, inoltre, se si commerciale closed ricompilazione e la nostra scrive software open source per la piattaforma applicazione potrà essere source per Linux, BSD, Windows, per quale eseguita in modo nativo Solaris o molte altre motivo si dovrebbe usare sulla nuova piattaforma. varianti UNIX, Qt è Qt, per il mondo Windows gratuito. In altre parole, esistono già diversi I principali linguaggi di non si deve pagare alcuna ambienti di sviluppo porgrammazione licenza. commerciali e diversi supportati sono: toolkit GUI? La risposta a In caso contrario, se si questa domanda può C++ Qt si integra sviluppa codice arrivare se si pensa alla Java perfettamente con gli commerciale, occorre portabilità. Python (PyQt) acquistare una licenza per strumenti di sviluppo lo sviluppo (ma non si Scrivere applicazioni con open source di Linux. dovrà pagare alcuna Qt permette infatti di Cross-Platform: cosa vuol dire? Un toolkit che permetta lo look&feel (aspetto quanto se le piattaforme sviluppo di GUI multi- estetico) nativo. Per contro sono tra loro troppo piattaforma, deve lo svantaggio principale è differenti, l’uso di una API implementare una dovuto alla lentezza dei di riferimento è molto strategia per nascondere programmi scritti, complicato da realizzare. al programmatore i dettagli basandosi sulle nuove dovuti alle API native del API; infatti lo strato La terza strategia è quella sistema operativo software aggiuntivo va ad adottata da Qt e consiste sottostante. appesantire l’esecuzione nell’emulare il vero con inevitabili comportamento di una Un toolkit che permetta Esistono rallentamenti. GUI; per fare ciò, vengono lo sviluppo di GUI multi- fondamentalmente tre usate solamente le piattaforma, deve strategie differenti adatte La strategia di API primitive grafiche di base, implementare una allo scopo e prendono il emulation (letteralmente offerte da ciascuna strategia per nome di “API layering”, emulazione della API), piattaforma, quali ad nascondere al “API emulation” e “GUI consiste nell’emulare le esempio le funzioni per programmatore i emulation”. API di un unico sistema su tracciare un punto, una dettagli dovuti alle API tutte le altre piattaforme. In linea, un cerchio. Il native del sistema La strategia di API layering questo caso, non occorre vantaggio di questa operativo sottostante. (letteralmente innestare uno strato soluzione è evidente, non stratificazione delle API), software al di sopra delle si appesantisce prevede la costruzione di API native per la l’applicazione con uno una nuova API fornita da piattaforma emulata, strato software aggiuntivo uno strato software che occorre bensì inserirla per e neppure si devono viene localizzato al di le altre piattaforme, uniformare tutte le API dei sopra della API nativa. I diverse da quella usata sistemi su cui garantire la vantaggi offerti da questa come riferimento. Benché portabilità. soluzione sono una questa soluzione sembri relativa semplicità di risolvere i problemi di programmazione ed una portabilità, in realtà è totale conformità con il difficile da ottenere, in
  6. 6. KDE e Qt La potenza di Qt è di parole, se è valido il detto intenzioni degli P. Sereno fondamentale importanza che “buoni programmatori sviluppatori di KDE e per KDE, il desktop scrivono buoni malgrado il fatto che il Fondatore di alcuni progetti environment di Linux è programmi” ed “eccellenti codice di KDE in sè fosse open source basati sul Qt stato infatti costruito su programmatori rubano software libero, KDE non framework, collabora con questa libreria. Il ricco codice eccellente”, allora poteva mai fare parte di riviste specializzate e segue da repertorio di widgets Qt e KDE offrono le un sistema operativo diversi anni l’evoluzione del (oggetti grafici di migliori condizioni per completamente libero”. free software interfaccia utente) e la questo “furto”, grazie alla Per arginare il pericolo in Italia. quantità di classi offerte filosofia open source ed derivante dall’affermarsi di da questo toolkit (ad alla licenza GPL. un desktop environment esempio la gestione dei non-libero, sulla sua caratteri UNICODE, Trolls contro Gnomi piattaforma libera interfacciamento verso La storia vissuta dai GNU/Linux, Stallman si database, gestione programmatori KDE non è mosse attivamente per protocolli TCP ed UDP) ha stata però molto facile cercare un’antagonista al fornito agli sviluppatori all’inizio, il fatto di usare le progetto KDE e lo trovò KDE un substrato librerie Qt che nella nel progetto GNOME, il “intellettuale” su cui versione 1.1 non erano GNU desktop. Dall’anno basare l’intera architettura disponibili con licenza della sua fondazione, software. GPL, scatenò le ire della 1997, sino al 1999 (e comunità open source, in ancor oggi), GNOME fu La filosofia di Qt è stata particolare Richard una spina nel fianco per i ripresa ed estesa, sino a Stallman si scagliò in programmatori KDE; chi consentire a KDE di offrire prima persona contro il ha seguito le vicende dei Scarica guide e tutorial classi, oggetti grafici e loro impiego. Celebri due progetti, ricorda gratuiti di plugins agli sviluppatori infatti sono le sue parole ancora le battaglie sui programmazione grafica applicativi. Oggi, uno sul tema KDE e Qt: newsgroup a colpi di post open source! sviluppatore Qt/KDE ha a e le reciproche accuse di Le trovi all'indirizzo: disposizione una “Il disegno di KDE è stato “filoeuropeismo” (KDE) e collezione di componenti basato su un errore “filoamericanismo” www.sereno-online.com/site software estremamente fondamentale: l’uso della (GNOME). ricca e performante per libreria Qt (che allora era sviluppare la sua software non-libero). applicazione. In altre Malgrado le buone

×