Per essere sicuri che la nostra competenza di C++ sia sufficiente per la programmazione delle librerie Qt, facciamo un piccolo ripasso dei concetti principali
Qt Lezione5: Layout management e Qt DesignerPaolo Sereno
qtQuesta lezione vuole essere un semplice avvicinamento al meccanismo di layout management di Qt. Trattandosi di un primo esempio di layout management ho preferito affrontarlo tramite il Qt Designer, in modo da vederne in pratica il suo funzionamento ancora prima di apprendere la sua programmazione.
Le applicazioni GUI vengono definite applicazioni di tipo “event-driven”, ovvero pilotate dagli eventi; questa definizione è davvero rappresentativa, in quanto in un'applicazione GUI, tutto ciò che succede è il risultato di un evento.
Quando programmiamo con il toolkit Qt, raramente abbiamo bisogno di preoccuparci del meccanismo degli eventi, poiché i widgets Qt che usiamo emettono autonomamente dei segnali nel momento in cui occorre qualcosa di significativo. La gestione degli eventi diventa quindi importante nel momento in cui vogliamo scrivere dei nuovi custom widgets o vogliamo modificare il comportamento di widgets esistenti.
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passiPaolo Sereno
qtScopo di questa seconda lezione è quello di introdurre l’uso di Qt Creator per scrivere una prima applicazione composta da una main window (QMainWindow).
L’applicazione non fa nulla e serve solamente per impratichirsi con le nozioni di base dell’ambiente di sviluppo Qt.
La lezione è organizzata in pochi semplici passi; ogni passo è corredato da una o più immagini (screenshot) per facilitare la comprensione.
Qt Lezione3: un visualizzatore di immaginiPaolo Sereno
Questa lezione sul toolkit Qt permette di scrivere una semplice applicazione di visualizzazione immagini, i formati sono quelli più comunemente usati: JPG, BMP, PNG etc.
Qt Lezione5: Layout management e Qt DesignerPaolo Sereno
qtQuesta lezione vuole essere un semplice avvicinamento al meccanismo di layout management di Qt. Trattandosi di un primo esempio di layout management ho preferito affrontarlo tramite il Qt Designer, in modo da vederne in pratica il suo funzionamento ancora prima di apprendere la sua programmazione.
Le applicazioni GUI vengono definite applicazioni di tipo “event-driven”, ovvero pilotate dagli eventi; questa definizione è davvero rappresentativa, in quanto in un'applicazione GUI, tutto ciò che succede è il risultato di un evento.
Quando programmiamo con il toolkit Qt, raramente abbiamo bisogno di preoccuparci del meccanismo degli eventi, poiché i widgets Qt che usiamo emettono autonomamente dei segnali nel momento in cui occorre qualcosa di significativo. La gestione degli eventi diventa quindi importante nel momento in cui vogliamo scrivere dei nuovi custom widgets o vogliamo modificare il comportamento di widgets esistenti.
Qt Lezione2: Creare un’applicazione con Qt Creator in pochi semplici passiPaolo Sereno
qtScopo di questa seconda lezione è quello di introdurre l’uso di Qt Creator per scrivere una prima applicazione composta da una main window (QMainWindow).
L’applicazione non fa nulla e serve solamente per impratichirsi con le nozioni di base dell’ambiente di sviluppo Qt.
La lezione è organizzata in pochi semplici passi; ogni passo è corredato da una o più immagini (screenshot) per facilitare la comprensione.
Qt Lezione3: un visualizzatore di immaginiPaolo Sereno
Questa lezione sul toolkit Qt permette di scrivere una semplice applicazione di visualizzazione immagini, i formati sono quelli più comunemente usati: JPG, BMP, PNG etc.
Qt Lezione1: Creare una dialog Window con Qt Creator in 10 semplici passiPaolo Sereno
Scopo di questa prima lezione è quello di introdurre l’uso di Qt Creator per scrivere una prima applicazione composta da una dialog window. L’applicazione non fa nulla e serve solamente per impratichirsi con le nozioni di base dell’ambiente di sviluppo Qt. La lezione è organizzata in 10 semplici passi. Ogni passo è corredato da una o più immagini (screenshot) per facilitare la comprensione.
Installazione Qt/Qt Quick per target AndroidPaolo Sereno
Questo breve tutorial rappresenta una mini guida per iniziare a programmare con Qt e Qt Quick su target Android. In particolare esso vuole essere un “memo” da usare durante i meetup e workshop sull’argomento organizzati dalla web community Qt-Italia.org.
Attraverso un semplice esempio viene mostrato come utilizzare Glade e Anjuta per la realizzazione di GUI sfruttando la libreria grafica GTK e il linguaggio C.
Introduzione alla programmazione android - Android@tulug lezione 3Ivan Gualandri
Terza lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Introduzione alla programmazione Android - Android@tulugIvan Gualandri
Prima lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Introduzione alla programmazione android - Android@tulug lezione 2Ivan Gualandri
Seconda lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Questo talk presenterà l'architettura di QPA (ex Lighthouse Project) e come questo consente agli sviluppatori di portare facilmente Qt su sistemi diversi.
Una breve introduzione alla creazione di report/libri basati su Latex.
Verrranno presentati i comandi principali, e la struttura base di un documento Latex.
Describes four different ways of creating GUIs in Qt and what their pros and cons are. The different ways are: QWidget, QGraphicsView, Qt Quick and QtWebKit using HTML5.
Thanks to Marius, Ariya, Alessandro and Henrik for helping out with it :)
First given at SEE2010 in Amsterdam (http://www.see2010.org/)
Qt Lezione1: Creare una dialog Window con Qt Creator in 10 semplici passiPaolo Sereno
Scopo di questa prima lezione è quello di introdurre l’uso di Qt Creator per scrivere una prima applicazione composta da una dialog window. L’applicazione non fa nulla e serve solamente per impratichirsi con le nozioni di base dell’ambiente di sviluppo Qt. La lezione è organizzata in 10 semplici passi. Ogni passo è corredato da una o più immagini (screenshot) per facilitare la comprensione.
Installazione Qt/Qt Quick per target AndroidPaolo Sereno
Questo breve tutorial rappresenta una mini guida per iniziare a programmare con Qt e Qt Quick su target Android. In particolare esso vuole essere un “memo” da usare durante i meetup e workshop sull’argomento organizzati dalla web community Qt-Italia.org.
Attraverso un semplice esempio viene mostrato come utilizzare Glade e Anjuta per la realizzazione di GUI sfruttando la libreria grafica GTK e il linguaggio C.
Introduzione alla programmazione android - Android@tulug lezione 3Ivan Gualandri
Terza lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Introduzione alla programmazione Android - Android@tulugIvan Gualandri
Prima lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Introduzione alla programmazione android - Android@tulug lezione 2Ivan Gualandri
Seconda lezione del corso android tenuto presso il TuLug (Tuscia Lug) A Viterbo. Le slides sono completamente in italiano (Slides are in italian! Sorry!)
Questo talk presenterà l'architettura di QPA (ex Lighthouse Project) e come questo consente agli sviluppatori di portare facilmente Qt su sistemi diversi.
Una breve introduzione alla creazione di report/libri basati su Latex.
Verrranno presentati i comandi principali, e la struttura base di un documento Latex.
Describes four different ways of creating GUIs in Qt and what their pros and cons are. The different ways are: QWidget, QGraphicsView, Qt Quick and QtWebKit using HTML5.
Thanks to Marius, Ariya, Alessandro and Henrik for helping out with it :)
First given at SEE2010 in Amsterdam (http://www.see2010.org/)
50 minuti per svelare la tigre, il cavallo e sapere che esiste il delfino.
La nuova versione di Java implementa caratteristiche che da tempo erano attese
nello standard del linguaggio: Metadata, Generic Types, AutoBoxing e
Unboxing dei tipi primitivi, Static import, gestione dinamica dei Loop e delle
Enumeration.
Per Java 6: gestione di SystemTray e motori di scripting.
Vediamo di cosa si tratta e di come poter utilizzare queste nuove feature all'interno dei nostri programmi
Slide introduttive al linguaggio Java 8 in preparazione alla certificazione OCA 1Z0-808.
Lezione del 12-10-2017 tenuta da Valerio Radice presso Nextre Engeneering
https://www.nextre.it/corso/corso-java-oca/
Come sviluppare app per Ubuntu Touch, dall'init del progetto a come ottenere la convergenza tramite Ubuntu.Layouts.
Presentazione del 27 aprile 2014 alla Fiera del Radioamatore di Pordenone.
Programmazione a oggetti tramite la macchina del caffé (pt. 2)Marcello Missiroli
Una introduzione semplice e (spero) intuitiva al mondo della programmazione a oggetti usando come riferimento una macchina del caffé (tipo Nespresso)
Slides 2 di 3
Similar to Qt Lezione0: uso del C++ per scrivere applicazioni Qt (20)
Programmazione a oggetti tramite la macchina del caffé (pt. 2)
Qt Lezione0: uso del C++ per scrivere applicazioni Qt
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