Qt Lezione0: uso del C++ per scrivere applicazioni Qt

  • 5,017 views
Uploaded on

Per essere sicuri che la nostra competenza di C++ sia sufficiente per la programmazione delle librerie Qt, facciamo un piccolo ripasso dei concetti principali

Per essere sicuri che la nostra competenza di C++ sia sufficiente per la programmazione delle librerie Qt, facciamo un piccolo ripasso dei concetti principali

More in: Technology , Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
5,017
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
126
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Mini Guide Qt Creare un custom widget plugin per Qt Designer Premessa Questa presentazione è rilasciata sotto Licenza Creative Commons: Attribution-NonCommercial-NoDerivativeWorks (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.it). Questo documento può quindi essere riprodotto senza violare nessuna legge, sia in versione elettronica, sia in versione cartacea, purché sia riprodotto integralmente in tutte le sue parti, compresa la pagina che contiene queste informazioni: Versione originale scaricabile dal sito http://www.sereno-online.com/site/ Tutti i marchi riportati in questa pubblicazione appartengono ai rispettivi proprietari. Link Utili Qui di seguito riporto alcuni link utili per chi usa quotidianamente l’ambiente di sviluppo Qt e vuole confrontarsi con altri sviluppatore, utenti e semplici appassionati di questo toolkit gratuito ed open source. Gruppo Programmatori Italiani Qt Software (GPIQt) http://www.facebook.com/inbox/?ref=mb#/group.php?gid=81561439535 qt in Italy http://qt-apps.org/groups/?id=17 qtitaliantranslators http://gitorious.org/+qtitaliantranslators Autore P. Sereno http://www.sereno-online.com/site
  • 2. Mini Guide Qt Uso del C++ per scrivere applicazioni Qt Per essere sicuri che la nostra competenza di C++ sia sufficiente per la programmazione delle librerie Qt, facciamo un piccolo ripasso dei concetti principali che ci saranno utili nella lettura dei prossimi articoli; come detto, si tratta di una semplice rassegna di concetti che incontreremo nella nostra presentazione, questo non vuol essere un tutorial C++ esaustivo e dettagliato. Classi Trattandosi di una libreria di classi, Qt ne fa chiaramente uso. Il linguaggio C++ fornisce la possibilità di creare nuove classi nello stesso modo in cui permette di creare nuovi tipi, possiamo affermare che una classe è un nuovo tipo definito dall’utente. Gli oggetti di una classe vengono creati ed inizializzati mediante funzioni proprie dichiarate esplicitamente a questo scopo, tali funzioni prendono il nome di “costruttori”. Una funzione propria di una classe può anche avere lo scopo di cancellare ogni oggetto di una classe quando questa viene distrutta, questa seconda funzione prende il nome di “distruttore”. Una classe può quindi essere vista come un nuovo tipo, caratterizzato di informazioni interne, dette anche proprietà ed un insieme di operazioni ristretto e ben definito (metodi) per agire su di esse. In altre parole consideriamo una classe come una scatola nera in cui le operazioni su di essa avvengono solamente attraverso quell’insieme di operazioni. Un esempio tipico di classe può essere una tabella, che poi è l’elemento base su cui si costruiscono tutte le applicazioni di tipo “foglio elettronico”, essa presenterà almeno un’operazione (detto anche metodo) di inserimento, un metodo per verificare se un particolare elemento è stato inserito, alcuni metodi di ordinamento ed infine un metodo per eliminare uno o più elementi della tabella. La documentazione di corredo fornita con il toolkit Qt illustra i dettagli e fornisce inoltre alcuni esempi di utilizzo della classe tabella (QTable). Occorre inoltre ricordare che è sempre possibile ottenere l’indirizzo di un oggetto, questo permette quindi di applicare tutte le regole sui puntatori già viste nel linguaggio C. Qt fa largo uso di puntatori ad oggetti, in particolare nel passaggio di parametri. Per convenzione, i nomi delle classi Qt sono rappresentativi della classe stessa e iniziano tutti con la lettera Q maiuscola (ad esempio le classi QApplication, QPushButton). Derivazione di classi Un concetto importante della programmazione ad oggetti, ovvero la derivazione di classi, sta alla base della programmazione Qt. Derivare una classe è un meccanismo semplice, flessibile ed efficiente per definirne una nuova, partendo da una esistente ed aggiungendo ad essa nuovi metodi e proprietà. Il concetto di derivazione di classi è ampiamente impiegato quando si vogliono realizzare custom widget, ossia controlli grafici che, partendo da quelli di base offerti da Qt, introducono nuove funzioni e comportamenti. Metodi di accesso Qt ne fa pesantemente uso. Non sono altro che metodi per accedere alle proprietà interne di un oggetto (metodi get) o impostarle (metodi set). Per convenzione i nomi dei metodi di accesso sono rappresentativi della funzione svolta ed iniziano con le parole get (dal verbo To Get, ovvero, ottenere) e set (dal verbo To Set, impostare). Un esempio che possiamo citare è il metodo setMainWindow, che è il primo metodo che impariamo ad usare nel nostro esempio di fine articolo. Autore P. Sereno http://www.sereno-online.com/site
  • 3. Mini Guide Qt Funzioni virtuali Le funzioni virtuali consentono ai programmatori di dichiarare funzioni in una classe base che possano essere ridefinite in ogni classe derivata. Qt usa le funzioni virtuali per inviare notifica degli eventi, provenienti dal sistema di gestione delle finestre, agli oggetti che compongono l’interfaccia utente. Overloading di operatori Qt esegue l’overload di alcuni operatori, ad esempio è possibile passare come parametro la classe QString (classe Qt incaricata di gestire le stringhe testuali), a tutte quelle funzioni che si aspettano come parametro const char*. In questo caso, esisterà un operatore che automaticamente convertirà il parametro di tipo QString nel parametro puntatore const char*. Considerazioni finali Questa è la terza lezione di un ciclo che verrà reso disponibile gratuitamente in Internet sul sito http://www.sereno-online.com/site A partire da questa lezione le cose si fanno più complicate, servirà quindi più tempo per capirle e per fare sul codice diverse prove. Ogni vostro commento o richiesta di informazioni rappresenta un utile punto di partenza per nuove lezioni o miglioramenti. Buon divertimento! Paolo Autore P. Sereno http://www.sereno-online.com/site