Tutorial Librerie Qt Parte 2

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tutorial Librerie Qt Parte 2"

Transcript

1 Tutorial Librerie Qt Parte 2 Premessa Questo tutorial è rilasciato sotto Licenza Creative Commons: Attribution-NonCommercial-NoDerivativeWorks ( 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 Tutti i marchi riportati in questa pubblicazione appartengono ai rispettivi proprietari. In questo secondo articolo sul toolkit Qt vedremo alcuni importanti concetti di programmazione di questa libreria e alcuni esempi pratici. Per prima cosa faremo pratica sull'uso di Designer e costruiremo una prima semplice applicazione in grado di visualizzare un' immagine nel formato PGN, XPM, JPG; successivamente ci occuperemo di due importanti argomenti: il layout management e la gestione degli eventi. Il layout management è il meccanismo offerto da Qt per posizionare gli oggetti all'interno di una GUI e la gestione degli eventi ci consente di intercettare qualsiasi interazione con l'utente (tastiera mouse) o con il sistema (timers, eventi dovuti al sistema di gestione delle finestre). Prima di addentrarci nella nostra trattazione, riprendiamo pero' brevemente un concetto visto nel numero precedente. Breve richiamo del meccanismo di S&S La nostra applicazione farà uso del meccanismo di Signals & Slots visto in dettaglio nel precedente articolo sulle Qt. Prima di addentrarci però nell'uso di questa potente funzione offerta dal Qt Toolkit, rivediamone brevemente il funzionamento. Gli slots sono praticamente identici alle funzioni membro di una classe, si può quindi parlare di slots pubblici, privati e protetti e possono essere invocati così come avviene per tutti gli altri metodi tradizionali di una classe. La differenza sostanziale è che uno slot, può sempre essere collegato ad un segnale e quindi sarà invocato ogni volta che il segnale verrà emesso. Questo collegamento signal/slot, viene realizzato con la funzione di libreria connect ed ha la sintassi: connect (sender,signal(signal),receiver,slot(slot)); dove sender e receiver sono i puntatori agli oggetti Qt (nel nostro esempio sender è il bottone e receiver il semaforo) da porre in comunicazione e signal, slot sono funzioni (in questo caso senza parametri) appartenenti rispettivamente all'oggetto sender e receiver. Nel caso invece di collegamento signal/slot con 1 parametro intero si avrà:

2 connect (sender,signal(signal(int)),receiver,slot(slot(int))); La macro SIGNAL() e la macro SLOT() sono essenziali per il funzionamento del tutto e verranno pre-processate dal meta object compiler (moc) prima della compilazione di tutti i files del progetto. Così come esiste una funzione connect, esiste anche la funzione opposta, la disconnect, usata per disconnettere il segnale dallo slot precedentemente collegati. La sintassi della funzione è: disconnect (sender,signal(signal),receiver,slot(slot)); In questo modo è possibile attivare e disattivare il collegamento tra oggetti a run-time. Va inoltre ricordato che più segnali possono essere collegati ad uno stesso slot, un segnale può essere collegato a più slots ed infine un segnale può essere collegato ad un altro segnale: connect (sender,signal(signal1),receiver,slot(signal2)); In questo caso, quando viene emesso il segnale signal1, verrà anche emesso il segnale signal2. Tenendo presente questi concetto, possiamo ora passare alla realizzazione della nostra prima applicazione con Qt Designer. Qt Designer Come visto nel nostro precedente articolo, il toolkit Qt è stato progettato dalla Trolltech per essere immediato e di facile utilizzo. Un'applicazione Qt può essere realizzata scrivendone interamente il codice sorgente C++, oppure mediante l'ambiente di design rapido fornito dal toolkit stesso, ovvero il Qt Designer. Mediante questo tool, le possibilità offerte al programmatore Qt vengono ampliate, si può quindi realizzare un'applicazione combinando forms disegnati visivamente e codice sorgente scritto dal programmatore. In questo articolo ci addentreremo nella programmazione di Qt e realizzeremo una piccola applicazione in grado di visualizzare immagini facendo uso del designer. Uso di Qt Designer Per prima cosa occorre chiamare dalla nostra shell preferita il Qt Designer, per far ciò dobbiamo digitare designer. Dopo l'avvio e lo splash screen, designer ci porrà il primo quesito, ovvero quale tipo di form vogliamo creare. Per la nostra applicazione selezioneremo Dialog tra le possibilità offerte e designer si presenterà come in figura 1.

3 Figura 1 Sul lato sinistro di designer possiamo vedere la toolbox contenente tutti i widgets Qt che possono essere usati per creare la nostra applicazione. La toolbox suddivide tutti i widgets in otto gruppi. Il primo gruppo, Common Widgets, raggruppa gli oggetti grafici di uso più comune, richiamabile premendo il bottone Buttons, troviamo il gruppo che unisce tutti i widgets Qt di tipo bottone(come ad esempio PushButton o CheckBox), successivamente troviamo il gruppo Container di cui fanno parte gli oggetti di tipo contenitore, come ad esempio ToolBox, che è appunto il widget che ora stiamo usando per la nostra carrellata (designer è stato realizzato usando appunto i widget che mette a disposizione), a seguire selezioniamo il gruppo Views e qui vi troviamo tutti gli oggetti utili per la visualizzazione, come ad esempio liste e tabelle. Il gruppo successivo Database contiene i widgets da impiegare per realizzare applicazioni di interfaccia verso database e di seguito ancora troviamo il gruppo Input, contenente i widgets necessari per l'inserimento dati (tramite tastiera o mouse), si va dal semplice LineEdit (input su singola linea) a TextEdit (input su più linee) ed infine il gruppo Display che raggruppa un insieme di oggetti utili per mostrare informazioni all'utente. Un componente molto impiegato in campo industriale, contenuto in questo gruppo, è senza dubbio LCDNumber. Esso consente di rappresentare numeri simulando i display chiamati a sette segmenti. L'ultimo gruppo Custom Widgets, vuoto, è stato creato per contenere nuovi widgets, creati dal programmatore. Esiste infatti un meccanismo a plugin che consente di espandere Designer, aggiungendo nuovi componenti. Sul lato destro di designer troviamo invece una colonna composta da tre finestre. La finestra più in alto, detta project overview porta informazioni circa il progetto su cui stiamo lavorando, nome, files appartenenti al progetto e così via. Subito sotto abbiamo la finestra Object Explorer che ci permette di navigare attraverso tutti i widgets della nostra applicazione (tab Objects ) e i membri (slots, funzioni e proprietà) dell'oggetto selezionato. L'ultima finestra, in basso, è l'editor di proprietà e signal handler. Tramite questa finestra possiamo impostare praticamente tutte le proprietà del widget selezionato e definire i metodi da richiamare per gestire gli eventi generati dal widget stesso. Al centro, tra le due colonne di tools, troviamo il nostro form, il cui nome di default è Form1. Il

4 primo passo che dobbiamo compiere ora è quello di popolare il nostro form con i widgets necessari al funzionamento della nostra applicazione. Per prima cosa creeremo quindi un PushButton per far terminare l'applicazione e lo posizioneremo in basso, al centro del nostro form. Per fare ciò, dovremo selezionare il gruppo Buttons, clickandoci sopra con il tasto sinistro del mouse e poi selezioneremo (sempre con il mouse) PushButton. A questo punto, se muoviamo il mouse sul nostro form, vediamo che il cursore assume la forma di una croce; questo ci serve per capire che stiamo per posizionare un widget. Dopo aver scelto il punto in cui lasciar cadere il nostro PushButton premiamo ancora una volta il tasto sinistro del mouse. Ora il nostro bottone di uscita è posizionato, per spostarlo, possiamo premere il tasto sinistro del mouse su di esso e trascinarlo sino al punto di arrivo e poi lascieremo il tasto del mouse. Dopo aver posizionato correttamente il bottone di uscita, dovremo impostarne le proprietà, quali ad esempio il testo e il metodo da richiamare sull'evento di clicked. Per prima cosa selezioniamo il nostro bottone sulla finestra di Object Explorer, dopodichè, sulla finestra di Property Editor, cercheremo la proprietà text ed inseriremo il nostro testo, ad esempio Esci. Selezionando da menu bar la voce Edit e, all'interno di esso, l'opzione Connections, ci verrà presentato a video il dialogo di impostazione delle connessioni (relativo alle connessioni tra Signals&Slots) visibile in figura 2 Figura 2 Selezionando New, la prima riga verrà della finestra verrà inizializzata con una connessione vuota. Il nostro compito sarà quello di selezionare il sender tra tutte le opzioni possibili, nel nostro caso sarà pushbutton1, il segnale da intercettare released(), il receiver Form1 e lo slot da associare al signal, nel nostro caso close(). Dopo aver realizzato questa associazione, salviamo il nostro file.ui in una directory di progetto, ad esempio di nome esempio, editiamo un nuovo file, il cui nome può essere main.cpp contenente il codice seguente: /********************************************/ /* Nome file : main.cpp */

5 /* Sopo : creazione dell'applicazione */ /* associata al form Form1 */ /********************************************/ #include <qapplication.h> #include "form1.h" main(int argc, char *argv[]) QApplication app(argc,argv); Form1 *form1=new Form1; app.setmainwidget(form1); form1->show(); return app.exec(); } e salviamolo nella directory esempio. Dalla nostra shell preferita, posizioniamoci nella directory esempio e digitiamo il comando qmake project, otterremo il file qmake esempio.pro e digitando nuovamente qmake, disporremo del file di make automaticamente generato da qmake stesso. Il nostro ultimo passo da compiere sarà lanciare make ed ottenere il nostro eseguibile che, presenterà l'interfaccia utente disegnata con il Qt Designer. A questo punto, dopo aver creato lo scheletro della nostra applicazione possiamo concentrarci sul nostro obiettivo e cioè visualizzare immagini. Per prima cosa inseriamo un nuovo bottone che ci permetterà di selezionare l'immagine da caricare, il testo da associare a questo bottone potrà essere ad esempio carica immagine, posizioniamolo vicino al pulsante di uscita ed aggiungiamo uno spaziatore alla destra dei due pulsanti. Come ultimo oggetto, sistemiamo una PixmapLabel sopra il blocco dei pulsanti e, tenendo premuto il tasto SHIFT, selezioniamo tutti i componenti grafici dell'applicazione, compreso il form stesso. Ora premiamo CTRL G ed otterremo qualcosa simile a figura 3

6 Figura 3 Selezioniamo ora il form, dalla menu bar, scegliamo il menu Edit e la voce Slots.... Si presenterà una finestra di dialogo come quella di figura 4

7 Figura 4 Premiamo il pulsante New Function e poi il pulsante OK. Questo ci permetterà di creare uno slot, di nome newslot() da associare al pulsante Carica Immagine, designer ci chiederà di creare un nuovo file ui.h e noi confermeremo; questo sarà il file su cui andremo a gestire le operazioni di caricamento immagine. Per far ciò, selezioniamo nuovamente il menu Edit, la voce connections... ed aggiungeremo, tramite il pulsante New una nuova connessione come abbiamo fatto prima per il pulsante Esci. Questa volta però, associeremo il pulsante Carica Immagine (il cui nome è pushbutton2), il segnale sarà released, il ricevitore sarà il form (Form1) e lo slot sarà quello che abbiamo creato, ovvero newslot(). Il codice di caricamento dell'immagine potrà essere del tipo: #include <qfiledialog.h> void Form1::newSlot() QString s = QFileDialog::getOpenFileName( "/home", "Images (*.png *.xpm *.jpg)", this, "open file dialog" "Choose a file" ); if(!s.isnull() &&!s.isempty()) pixmaplabel3->setpixmap(qpixmap(s)); } Analizziamo ora il codice di newslot(). L'istruzione QString s = QFileDialog::getOpenFileName(

8 "/home", "Images (*.png *.xpm *.jpg)", this); permette di aprire una finestra di dialogo tramite il metodo getopenfilename offerto dalla classe QFileDialog. I parametri passati a questo metodo sono: /home ovvero la directory su cui posizionare la ricerca "Images (*.png *.xpm *.jpg)" Questa istruzione imposta il filtro per la visualizzazione dei files da aprire this puntatore al padre della finestra di dialogo Il risultato della selezione effettuata dalla finestra di dialogo verrà salvata nella QString s. Prima di procedere con il caricamento del file selezionato, occorre sincerarsi che la selezione sia stata effettuata e a questo scopo serve l'istruzione if(!s.isnull() &&!s.isempty()). La classe QString mette a disposizione i metodi isnull() e isempty(), proprio per verificare che la stringa contenuta non sia nulla o vuota. Dopo aver controllato la stringa corrispondente al nome del file immagine da caricare, tramite il metodo pixmaplabel1->setpixmap(qpixmap(s)), carichiamo una nuova pixmap nella nostra QLabel. Da notare che il parametro da passare a setpixmap è di tipo QPixmap, ma noi disponiamo di una semplice stringa. Il problema si risolve facilmente poiché tramite QPixmap(s), andiamo proprio a creare una pixmap usando il costruttore apposito messo a disposizione dalla classe. Il risultato del nostro lavoro sarà visibile a figura 5

9 Figura 5 Introduzione al layout management Ciascun oggetto inserito in un form viene posizionato in un preciso punto ed ha dimensioni precise. Questo si traduce programmaticamente in attributi di posizione e attributi dimensionali. Un problema comune, dovuto al posizionamento assoluto di un widget all'interno di un form, è che quando il form cambia di dimensioni, il widget può risultare non più centrato, o peggio ancora, non più visibile. Per risolvere questo inconveniente, in caso di form ridimensionabili, non si ricorre al posizionamento assoluto dei widgets, bensì si delega il posizionamento degli stessi ad un gestore di layout. Qt implementa un efficiente meccanismo di layout management per liberare il programmatore dal problema del posizionamento dei widgets all'interno di una qualsiasi finestra. Il layout manager di Qt prevede tre modi basilari per la gestione del layout: posizionamento assoluto, layout manuale ed infine a layout manager. Il posizionamento assoluto è il modo più crudo per sistemare i widgets all'interno della nostra interfaccia utente, per fare ciò, non occorre far altro che assegnare i valori di posizione e le dimensioni del widget nel codice sorgente; nel caso di posizionamento assoluto per un widget di tipo bottone, useremo il metodo setgeometry nel modo seguente: button->setgeometry(x, y, w, h). L'esempio riportato pone il widget grafico di tipo QPushButton, di cui abbiamo il puntatore button, alle coordinate assolute x ed y all'interno del widget che lo contiene (ad esempio la

10 finestra dell'applicazione) ed inoltre attribuisce ad esso le dimensioni w ed h rispettivamente per la larghezza e l'altezza; in altre parole, il bottone grafico viene considerato come se fosse un rettangolo di base uguale a w ed altezza uguale ad h e per determinare il suo posizionamento, si assegnano le coordinate x,y al suo vertice in alto a sinistra, come mostrato in figura 6. Figura 6 Il posizionamento assoluto presenta molti svantaggi, primo tra tutti l'impossibilità per l'utente di ridimensionare la finestra, in questo caso infatti, il nostro bottone potrebbe risultare disallineato o peggio ancora risultare tagliato se la finestra stessa fosse troppo piccola per contenerlo. Un altro problema è dovuto al fatto che la stringa di testo presente sui widgets (nel caso di figura 6, QPushButton) potrebbe risultare tagliata qualora il font di default fosse troppo grande, oppure nel caso di traduzione in altre lingue, la parola potrebbe essere più lunga di quella prevista nella lingua d'origine. Un alternativa al posizionamento assoluto è il posizionamento manuale; in questo caso infatti i widgets vengono sempre posizionati in modo assoluto, ma le loro dimensioni e posizione vengono calcolati in base alle dimensioni della finestra che li contiene. Qualsiasi widget Qt (e quindi anche la finestra di un'applicazione), restituisce informazioni sulle sue dimensioni mediante i metodi height() (altezza) e width() (larghezza). Così come per il posizionamento assoluto, anche per il posizionamento manuale occorre inserire nel codice sorgente un gran numero di costanti corrispondenti alle dimensioni e posizione di ciascun widget, con pesanti conseguenze sulla leggibilità e manutenibilità del codice (nonché della sua eleganza!) La miglior soluzione per piazzare i widgets nella nostra interfaccia utente è senza dubbio quella di affidarsi ai layout managers di Qt; in questo caso infatti, delegeremo a Qt stesso tutto il lavoro di posizionamento e ridimensionamento dell'intera interfaccia utente della nostra applicazione. I layout managers di Qt, prevedono per ogni widget dei valori di default e cercano di riservare ad essi le dimensioni ottimali sulla base del font selezionato, della dimensione dei caratteri e del loro contenuto; oltre a ciò, svolgono il ridimensionamento automatico quando viene selezionato un nuovo font, cambia il testo contenuto in un widget o viene ridimensionata la finestra dell'applicazione. Qt fornisce tre manager di layout: QHBoxLayout, QVBoxLayout e QgridLayout. Tutte e tre le classi sono derivate dalla classe più generica, QLayout, che è appunto il gestore di base del layout previsto da Qt e sono pienamente supportate da Designer; grazie a questa possibilità quindi, potremo disegnare in modo rapido e visivo i nostri form ed avvalerci in modo trasparente ed immediato dell'enorme potenza fornitaci dai layout managers.

11 Classi di layout management Il primo layout manager che analizzaremo è QHBoxLayout, tramite esso possiamo posizionare i widgets allineandoli in orizzontale. Un esempio tipico di uso può essere: QBoxLayout * layout = new QHBoxLayout( widget ); QPushButton *b1= new QPushButton(0); QPushButton *b2= new QpushButton(0); QPushButton *b3= new QPushButton(0); QPushButton *b4= new QPushButton(0); layout->addwidget( b1); layout->addwidget( b2 ); layout->addwidget( b3); layout->addwidget( b4 ); Mediante QBoxLayout * layout = new QHBoxLayout( widget ) creiamo dinamicamente il gestore di layout orizzontale e aggiungiamo nel layout i quattro bottoni b1,b2,b3,b4 tramite il metodo addwidget(). Il codice scritto ci permetterà di allineare orizzontalmente i quattro bottoni come in figura 7 Figura 7 All'allineamento verticale provvede invece QVBoxLayout, analogamente a quanto visto prima avremo: QBoxLayout * layout = new QVBoxLayout( widget ); QPushButton *b1= new QPushButton(0); QPushButton *b2= new QpushButton(0); QPushButton *b3= new QPushButton(0); QPushButton *b4= new QPushButton(0); layout->addwidget( b1); layout->addwidget( b2 ); layout->addwidget( b3); layout->addwidget( b4 ); Mediante QBoxLayout * layout = new QVBoxLayout( widget ) creiamo dinamicamente il gestore di layout verticale e aggiungiamo nel layout i quattro bottoni b1,b2,b3,b4 tramite il metodo addwidget(). Ed otterremo l'allineamento di figura 8

12 Figura 8 Per quanto riguarda invece il grid layout avremo: QGridLayout * l = new QGridLayout(this); QPushButton *b1= new QPushButton(this); QPushButton *b2= new QPushButton(this); QPushButton *b3= new QPushButton(this); QPushButton *b4= new QPushButton(this); b1->settext("bottone 1"); b2->settext("bottone 2"); b3->settext("bottone 3"); b4->settext("bottone 4"); l->addwidget(b1,0,0); l->addwidget(b2,0,1); l->addwidget(b3,1,0); l->addwidget(b4,1,1); Ed otterremo il risultato di figura 9 Figura 9 In questo caso, il metodo addwidget non avrà un solo parametro come per i layout manager visti prima, dovremo infatti informare il layout manager riguardo dove vogliamo inserire il widget, in quale cella. Il secondo e terzo parametro infatti assumono i valori: (0,0) corrispondente alla cella in alto a sinistra della griglia (0,1) la cella in alto a destra (1,0) la cella in basso a sinistra (1,1) la cella in basso a destra Gestione degli eventi 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. Vediamo ora, per capirne l'importanza, alcuni esempi di eventi e successivamente vedremo gli eventi principali messi a disposizione dalla classe QWidget. Questo sarà un utile punto da cui partire nel prossimo tutorial. per costruire il nostro primo custom widget. Gli eventi vengono generati da Qt in risposta a diverse situazioni: quando viene premuto un tasto sulla tastiera, oppure un tasto del mouse, Qt si incarica di generare un evento. Un evento però può anche essere generato in seguito al riposizionamento di una finestra sul desktop, in quanto caso ad esempio, il sistema di gestione delle finestre riceve un evento che usa per

13 ridisegnare ciò che prima era nascosto dalla finestra; in questo caso parleremo di evento di Paint (disegno). Terminiamo ora la nostra breve carrellata citando l'evento di Show. Come già visto in precedenza, la creazione di un widget non implica automaticamente la sua visibilità, bisogna infatti richiamare esplicitamente il metodo di show() per disegnarlo a video. Richiamare il metodo di show() è il metodo che Qt ci offre per informare il motore di disegno del toolkit che un widget, di cui noi abbiamo definito le proprietà grafiche, testuali, di posizione e dimensioni, deve essere ridisegnato. Un altro evento, molto comune nella pratica, è il timer. Se gli eventi visti sin'ora occorrono come risultato di un'azione eseguita dall'utente dell'applicazione, i timers permettono all'applicazione stessa di eseguire un compito ad intervallo di tempo. Gli esempi riportati sopra ci permettono di capire la filosofia che sta dietro agli eventi, ma nulla è ancora stato detto su come essi vengono implementati. Nel mondo Qt, un evento è un metodo virtuale, il che vuol dire, semplificando il concetto, che quando deriviamo da una classe di partenza con eventi, possiamo reimplementarli (sono sempre dei metodi!) per fornirgli le funzionalità necessarie alla nostra applicazione e poiché un esempio è ben più chiaro di mille parole, vediamo ora un caso pratico. Il nostro esempio dimostrerà l'uso dell'evento di timer e per far cio' creeremo un widget il cui aspetto esteriore sarà una stringa testuale scorrevole verso sinistra; le lettere scorreranno di un pixel ogni 100 millesimi di secondo. Questo è un ottimo esempio, fornitoci dalla letteratura ufficiale Trolltech, utile per muovere i primi passi nella creazione di custom widget. Per prima cosa dovremo creare il nostro primo custom widget ; per far ciò deriveremo dalla classe QWidget, creata appositamente allo scopo e successivamente reimplementeremo i metodi virtuali paintevent(), timerevent(), showevent() ed infine hideevent(). La nostra nuova classe mytimer sarà quindi: #include <qwidget.h> class mytimer : public QWidget public: mytimer(qwidget *parent = 0, const char *name = 0); void settext(const QString &newtext); QString text() const return mytext; } protected: void paintevent(qpaintevent *event); void timerevent(qtimerevent *event); void showevent(qshowevent *event); void hideevent(qhideevent *event); private: QString mytext; int mytimerid; int offset; }; La classe class mytimer, di tipo public QWidget presenta tre metodi pubblici: il costruttore (mytimer), il metodo che ci permette di modificare il testo visualizzato dal widget (settext) ed infine il metodo da usare per leggere il testo contenuto. Come si può notare, il fatto che la stringa testuale mytext sia di tipo privato, ci obbliga a fornire due metodi pubblici per la sua lettura e scrittura. Questo è il meccanismo tipico usato per nascondere all'esterno la stringa mytext e permettere la sua elaborazione solo attraverso i metodi da noi forniti; questo meccanismo è ampiamente usato dal toolkit Qt per fornire al programmatore la possibilità di modificare e leggere le proprietà di un widget, senza però averne accesso diretto. I metodi privati della nostra classe, ovvero paintevent(), timerevent(), showevent() e hideevent() rappresentano invece tutti gli eventi che andremo a gestire; quest'operazione è possibile poiché essi sono

14 metodi virtuali definiti in QWidget. Troviamo infine le proprietà della nostra classe, mytext, che rappresentano rispettivamente la stringa testuale del nostro widget, il timer che useremo per gestire la temporizzazione (mytimerid) e la posizione corrente della nostra stringa, necessaria per gestire lo spostamento verso sinistra ad ogni intervallo di tempo. Vediamo ora l'implementazione dei metodi della classe mytimer, iniziando dal costruttore. mytimer::mytimer(qwidget *parent, const char *name) : QWidget(parent, name) mytimerid = 0; offset=0; } Al costruttore della nostra classe passiamo come argomenti due parametri: il primo rappresenta il padre dell'oggetto (ogni oggetto di Qt ha un padre, nel caso di oggetti top level, il puntatore al padre sarà zero)e il secondo rappresenta il nome che verrà dato all'oggetto (il nome non deve essere confuso con la stringa di testo, bensì è un valore mnemonico utile per identificare gli oggetti durante le sessioni di debugging). Soffermiamoci brevemente sulla funzione QString text() const return mytext; }. Questa funzione è molto semplice, il suo unico scopo è restituire la stringa testuale del nostro widget. Per modificare invece tale stringa ricorreremo alla seguente implementazione di settext: void mytimer::settext(const QString &newtext) mytext = newtext; update(); } Questo metodo presenta una peculiarità. Tralasciamo la ovvia mytext = newtext e concentriamoci sulla update(). Essa ci permette di lanciare l'evento di paint al nostro widget, la modifica della stringa di testo va infatti ridisegnata a video e per far ciò occorre scatenare un evento che, una volta riconosciuto dal motore di Qt, ci permetterà il richiamo del metodo di paintevent illustrato qui di seguito. void mytimer::paintevent(qpaintevent *) QPainter painter(this); int textwidth = fontmetrics().width(text()); if (textwidth < 1) return; int x = -offset; while (x < width()) painter.drawtext(x, 0, textwidth, height(), AlignLeft AlignVCenter, text()); x += textwidth; } } Tutti i widgets Qt usano paintevent() per disegnare a video il widget stesso; perciò nel nostro esempio dovremo uniformarci a questa filosofia e confinare tutte le operazioni di disegno in questo metodo. La prima operazione da compiere in un metodo di paintevent sarà quella di allocare dinamicamente un oggetto di tipo QPainter, esso è infatti lo strumento che Qt ci mette a disposizione per disegnare l'aspetto di un widget. L'istruzione QPainter painter(this) ci permette di allocare dinamicamente un oggetto QPainter il cui padre è il nostro stesso widget (e cioè l'argomento this passato al costruttore). QPainter fornisce funzioni ottimizzate per disegnare linee, cerchi, archi e corde, ellissi, poligoni; oltre a ciò, consente di scrivere stringhe testuali controllandone l'allineamento la posizione e

15 tutti gli attributi tipici (colore, font, dimensioni). Per le operazioni di disegno più evolute, consente inoltre di gestire sistemi e trasformazioni di coordinate. L'istruzione int textwidth = fontmetrics().width(text())ci permette di conoscere la dimensione del testo contenuto nel nostro widget. Per poter comprendere questa istruzione occorre ricordare alcune cose: fontmetrics() è un metodo di QPainter che ci permette di conoscere le informazioni metriche associate al font correntemente usato (quali ad esempio le dimensioni in pixel). L'oggetto restituito da questo metodo sarà di tipo QFontMetrics. fontmetrics().width(qstring & str) width() è un metodo proprio di QfontMetrics che ci consente di conoscere la lunghezza in pixel della stringa passata come argomento (& str) fontmetrics().width(text()) la funzione text(), propria del nostro widget, restituisce la stringa contenente il testo che vogliamo visualizzare (per la precisione mytext). In questo modo, il valore restituito da fontmetrics().width(text()) sarà proprio la lunghezza in pixel della nostra stringa di testo, calcolata sulla base del font preselezionato e delle sue dimensioni. Questo valore, contenuto in textwidth, ci sarà utile per svolgere i calcoli necessari alle operazioni di disegno. Il blocco di istruzioni seguente: int x = -offset; while (x < width()) painter.drawtext(x, 0, textwidth, height(), AlignLeft AlignVCenter, text()); x += textwidth; ci permetterà di disegnare la stringa testuale ripetutamente, sino ad occupare tutta la dimensione orizzontale del nostro widget, - ottenuta tramite la funzione width() - e, ad ogni iterazione, la posizione orizzontale da cui la stringa verrà disegnata cambierà di valore, sulla base del calcolo x += textwidth. L'istruzione su cui è bene soffermare l'attenzione è il richiamo del metodo painter.drawtext. Come già suggerisce il nome stesso, questo è un metodo di QPainter incaricato di disegnare una stringa di testo. Vediamo ora più in dettaglio i parametri: x: posizione orizzontale (all'interno del nostro widget) da cui la stringa verrà disegnata 0: posizione verticale (all'interno del nostro widget) da cui la stringa verrà disegnata textwidth: lunghezza della stringa da disegnare height(): altezza della stringa da disegnare AlignLeft AlignVCenter: queste sono costanti proprie di Qt, usate per informare drawtext sul metodo di allineamento da adottare per il disegno della stringa. Nel nostro caso AlignLeft richiede di allineare la stringa partendo da sinistra e AlignVCenter richiede un allineamento verticale di tipo centrato. Vediamo ora l'implementazione di showevent: void mytimer::showevent(qshowevent *event) mytimerid = starttimer(100);

16 } Questo metodo ci permette di far la conoscenza con una funzione propria di QWidget, ovvero starttimer(), questa funzione attiva il timer (contenuto in ogni widget Qt) e gli assegna un valore di 100 millesimi di secondo. Da questo momento in poi, il nostro widget genererà un evento di timer ogni 100 millesimi di secondo; questo evento di timer verrà riconosciuto dal motore di Qt che provvederà a richiamare il nostro metodo timerevent(). void mytimer::timerevent(qtimerevent *event) ++offset; update(); } timerevent viene richiamata automaticamente ogni 100 millesimi di secondo, essa incrementa la variabile offset di uno per simulare il movimento del testo e successivamente richiama update(), metodo proprio di QWidget, che si occupa di lanciare l'evento di paint e scatenare così la chiamata alla nostra funzione di paintevent. Occorre infine ricordare, quando si utilizzano i timers di Qt, che è necessario prima di terminare l'applicazione, terminarli. A questo compito provvede l'ultimo metodo che andremo ad analizzare. void mytimer::hideevent(qhideevent *event) killtimer(mytimerid) } Come si può facilmente osservare, il metodo killtimer, proprio della classe QWidget, si occupa di distruggere il timer precedentemente attivato. Conclusioni Nel prossimo tutorial ci occuperemo di widgets con una rapida ma dettagliata carrellata sui componenti di interfaccia utente che il nostro toolkit preferito ci mette a disposizione e poi ci addentreremo nel mondo della programmazione di custom widgets, realizzando un indicatore numerico tipo tachimentro.

Creare un applicazione con Qt Creator in pochi semplici passi

Creare un applicazione con Qt Creator in pochi semplici passi Creare un applicazione con Qt Creator in pochi semplici passi Premessa Questa presentazione è rilasciata sotto Licenza Creative Commons: Attribution-NonCommercial-NoDerivativeWorks (http://creativecommons.org/licenses/by-nc-nd/3.0/deed.it).

Dettagli

Guida all uso di Java Diagrammi ER

Guida all uso di Java Diagrammi ER Guida all uso di Java Diagrammi ER Ver. 1.1 Alessandro Ballini 16/5/2004 Questa guida ha lo scopo di mostrare gli aspetti fondamentali dell utilizzo dell applicazione Java Diagrammi ER. Inizieremo con

Dettagli

Registratori di Cassa

Registratori di Cassa modulo Registratori di Cassa Interfacciamento con Registratore di Cassa RCH Nucleo@light GDO BREVE GUIDA ( su logiche di funzionamento e modalità d uso ) www.impresa24.ilsole24ore.com 1 Sommario Introduzione...

Dettagli

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti

Capitolo 3. L applicazione Java Diagrammi ER. 3.1 La finestra iniziale, il menu e la barra pulsanti Capitolo 3 L applicazione Java Diagrammi ER Dopo le fasi di analisi, progettazione ed implementazione il software è stato compilato ed ora è pronto all uso; in questo capitolo mostreremo passo passo tutta

Dettagli

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti.

Il sofware è inoltre completato da una funzione di calendario che consente di impostare in modo semplice ed intuitivo i vari appuntamenti. SH.MedicalStudio Presentazione SH.MedicalStudio è un software per la gestione degli studi medici. Consente di gestire un archivio Pazienti, con tutti i documenti necessari ad avere un quadro clinico completo

Dettagli

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000

lo 2 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Capittol lo 2 Visualizzazione 2-1 - PERSONALIZZARE LA FINESTRA DI WORD 2000 Nel primo capitolo sono state analizzate le diverse componenti della finestra di Word 2000: barra del titolo, barra dei menu,

Dettagli

Il calendario di Windows Vista

Il calendario di Windows Vista Il calendario di Windows Vista Una delle novità introdotte in Windows Vista è il Calendario di Windows, un programma utilissimo per la gestione degli appuntamenti, delle ricorrenze e delle attività lavorative

Dettagli

Tutorial 3DRoom. 3DRoom

Tutorial 3DRoom. 3DRoom Il presente paragrafo tratta il rilievo di interni ed esterni eseguito con. L utilizzo del software è molto semplice ed immediato. Dopo aver fatto uno schizzo del vano si passa all inserimento delle diagonali

Dettagli

Guida di Keyboard Builder. 2009 Sielco Sistemi Srl

Guida di Keyboard Builder. 2009 Sielco Sistemi Srl Guida di Keyboard Builder Guida di Keyboard Builder Keyboard Builder è uno strumento che permette di costruire tastiere da visualizzare sullo schermo, utili per la realizzazione di applicazioni che operano

Dettagli

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia

Scuola Digitale. Manuale utente. Copyright 2014, Axios Italia Scuola Digitale Manuale utente Copyright 2014, Axios Italia 1 SOMMARIO SOMMARIO... 2 Accesso al pannello di controllo di Scuola Digitale... 3 Amministrazione trasparente... 4 Premessa... 4 Codice HTML

Dettagli

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database

Access. Microsoft Access. Aprire Access. Aprire Access. Aprire un database. Creare un nuovo database Microsoft Access Introduzione alle basi di dati Access E un programma di gestione di database (DBMS) Access offre: un supporto transazionale limitato Meccanismi di sicurezza, protezione di dati e gestione

Dettagli

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro,

EXCEL PER WINDOWS95. sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area di lavoro, detta foglio di lavoro, EXCEL PER WINDOWS95 1.Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei personal computer. Essi si basano su un area

Dettagli

Database 1 biblioteca universitaria. Testo del quesito

Database 1 biblioteca universitaria. Testo del quesito Database 1 biblioteca universitaria Testo del quesito Una biblioteca universitaria acquista testi didattici su indicazione dei professori e cura il prestito dei testi agli studenti. La biblioteca vuole

Dettagli

MANUALE D USO DELLA PIATTAFORMA ITCMS

MANUALE D USO DELLA PIATTAFORMA ITCMS MANUALE D USO DELLA PIATTAFORMA ITCMS MANULE D USO INDICE 1. INTRODUZIONE... 2 2. ACCEDERE ALLA GESTIONE DEI CONTENUTI... 3 3. GESTIONE DEI CONTENUTI DI TIPO TESTUALE... 4 3.1 Editor... 4 3.2 Import di

Dettagli

Il foglio elettronico. Excel 2013 3 PARTE

Il foglio elettronico. Excel 2013 3 PARTE Il foglio elettronico Excel 2013 3 PARTE Versione 15/10/2013 Le tabelle PIVOT Tabelle PIVOT Le tabelle pivot sono tabelle interattive che consentono all'utente di raggruppare e riassumere grandi quantità

Dettagli

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1

PULSANTI E PAGINE Sommario PULSANTI E PAGINE...1 Pagina 1 Sommario...1 Apertura...2 Visualizzazioni...2 Elenco...2 Testo sul pulsante e altre informazioni...3 Comandi...3 Informazioni...4 Flow chart...5 Comandi...6 Pulsanti Principali e Pulsanti Dipendenti...6

Dettagli

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template.

Settaggio impostazioni tema. Cliccando nuovamente su aspetto e poi su personalizza si avrà modo di configurare la struttura dinamica della template. I TEMI PREDEFINITI (TEMPLATE) Scelta del tema I temi predefiniti di wordpress sono la base di un sito che usa un utente che per ragioni pratiche o per incapacità non può creare un sito usando solo codice

Dettagli

1. Il Client Skype for Business

1. Il Client Skype for Business 1. Il Client Skype for Business 2. Configurare una Periferica Audio 3. Personalizzare una Periferica Audio 4. Gestire gli Stati di Presenza 5. Tabella Stati di Presenza 6. Iniziare una Chiamata 7. Iniziare

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie

Esame di Informatica CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO CHE COS È UN FOGLIO ELETTRONICO. Facoltà di Scienze Motorie Facoltà di Scienze Motorie CHE COS È UN FOGLIO ELETTRONICO Una tabella che contiene parole e numeri che possono essere elaborati applicando formule matematiche e funzioni statistiche. Esame di Informatica

Dettagli

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA

CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA CATALOGO E-COMMERCE E NEGOZIO A GRIGLIA In questo tutorial verrà illustrato come sfruttare la flessibilità del componente "Catalogo E-commerce" per realizzare un classico negozio a griglia, del tipo di

Dettagli

Introduzione a Word. Prima di iniziare. Competenze che saranno acquisite. Requisiti. Tempo stimato per il completamento:

Introduzione a Word. Prima di iniziare. Competenze che saranno acquisite. Requisiti. Tempo stimato per il completamento: Introduzione a Word Word è una potente applicazione di elaborazione testi e layout, ma per utilizzarla nel modo più efficace è necessario comprenderne gli elementi di base. Questa esercitazione illustra

Dettagli

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it

Excel. A cura di Luigi Labonia. e-mail: luigi.lab@libero.it Excel A cura di Luigi Labonia e-mail: luigi.lab@libero.it Introduzione Un foglio elettronico è un applicazione comunemente usata per bilanci, previsioni ed altri compiti tipici del campo amministrativo

Dettagli

Olga Scotti. Basi di Informatica. File e cartelle

Olga Scotti. Basi di Informatica. File e cartelle Basi di Informatica File e cartelle I file Tutte le informazioni contenute nel disco fisso (memoria permanente del computer che non si perde neanche quando togliamo la corrente) del computer sono raccolte

Dettagli

1. Le macro in Access 2000/2003

1. Le macro in Access 2000/2003 LIBRERIA WEB 1. Le macro in Access 2000/2003 Per creare una macro, si deve aprire l elenco delle macro dalla finestra principale del database: facendo clic su Nuovo, si presenta la griglia che permette

Dettagli

Manuale per i redattori del sito web OttoInforma

Manuale per i redattori del sito web OttoInforma Manuale per i redattori del sito web OttoInforma Contenuti 1. Login 2. Creare un nuovo articolo 3. Pubblicare l articolo 4. Salvare l articolo in bozza 5. Le categorie 6. Modificare un articolo 7. Modificare

Dettagli

L interfaccia utente di Office 2010

L interfaccia utente di Office 2010 L interfaccia utente di Office 2010 Personalizza la barra multifunzione Pagine: 3 di 4 Autore: Alessandra Salvaggio - Tratto da: Office 2010 la tua prima guida - Edizioni FAG Milano Ridurre la barra multifunzione

Dettagli

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti.

DESKTOP. Uso del sistema operativo Windows XP e gestione dei file. Vediamo in dettaglio queste parti. Uso del sistema operativo Windows XP e gestione dei file DESKTOP All accensione del nostro PC, il BIOS (Basic Input Output System) si occupa di verificare, attraverso una serie di test, che il nostro hardware

Dettagli

Guida. Macchina Scratch

Guida. Macchina Scratch Pagina 1 di 22 Guida Macchina Scratch Pagina 2 di 22 Scopo Lo scopo della guida è quello di spiegare all'utente come sia possibile creare un unità da scratch con il software Nuovo AHU. La guida spiegherà

Dettagli

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI

IL MIO PRIMO SITO NEWS USANDO GLI SCHEDARI Pagina 1 UN SISTEMA DI NEWS Sommario UN SISTEMA DI NEWS...1 Introduzione...2 Scelgo l'area su cui operare...3 Un minimo di teoria...3 Creo le Pagine...4 Definizione dello Schedario Novità...6 Compilo la

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente

Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente Moduli (schede compilabili) in Word Esempio: scheda di alimentazione per un degente Vediamo come utilizzare Word per costruire un modulo compilabile, ovvero una scheda che contenga delle parti fisse di

Dettagli

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina

[Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina [Dimensionare la pagina-creare le tabelle-formattare le tabelle-formattare la pagina Creare cartelle per salvare il lavoro] Per iniziare dobbiamo imparare a gestire quello spazio bianco che diverrà la

Dettagli

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools

E possibile modificare la lingua dei testi dell interfaccia utente, se in inglese o in italiano, dal menu [Tools Una breve introduzione operativa a STGraph Luca Mari, versione 5.3.11 STGraph è un sistema software per creare, modificare ed eseguire modelli di sistemi dinamici descritti secondo l approccio agli stati

Dettagli

Figura 1 Le Icone dei file di Excel con e senza macro.

Figura 1 Le Icone dei file di Excel con e senza macro. 18 Le macro Le macro rappresentano una soluzione interessante per automatizzare e velocizzare l esecuzione di operazioni ripetitive. Le macro, di fatto, sono porzioni di codice VBA (Visual Basic for Applications)

Dettagli

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa.

A destra è delimitata dalla barra di scorrimento verticale, mentre in basso troviamo una riga complessa. La finestra di Excel è molto complessa e al primo posto avvio potrebbe disorientare l utente. Analizziamone i componenti dall alto verso il basso. La prima barra è la barra del titolo, dove troviamo indicato

Dettagli

Personalizza. Page 1 of 33

Personalizza. Page 1 of 33 Personalizza Aprendo la scheda Personalizza, puoi aggiungere, riposizionare e regolare la grandezza del testo, inserire immagini e forme, creare una stampa unione e molto altro. Page 1 of 33 Clicca su

Dettagli

MANUALE PORTALE UTENTE IMPRENDITORE

MANUALE PORTALE UTENTE IMPRENDITORE MANUALE PORTALE UTENTE IMPRENDITORE Indice 1. REQUISITI MINIMI DI SISTEMA E CONTATTI PROGETTO RIGENER@... 3 2. IL PORTALE RIGENER@... 4 2.1 ACCESSO ALLE AREE PRIVATE... 7 2.1.1 Accesso al sito con Windows

Dettagli

Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti)

Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti) GUIDE Sa.Sol. Desk: Rete Telematica tra le Associazioni di Volontariato della Sardegna Guida all'uso del CMS (Content Management System, Sistema di Gestione dei Contenuti) Argomento Descrizione Gestione

Dettagli

MODULO 4: FOGLIO ELETTRONICO (EXCEL)

MODULO 4: FOGLIO ELETTRONICO (EXCEL) MODULO 4: FOGLIO ELETTRONICO (EXCEL) 1. Introduzione ai fogli elettronici I fogli elettronici sono delle applicazioni che permettono di sfruttare le potenzialità di calcolo dei Personal computer. Essi

Dettagli

Uso della posta elettronica 7.6.1 Invio di un messaggio

Uso della posta elettronica 7.6.1 Invio di un messaggio Navigazione Web e comunicazione Uso della posta elettronica 7.6.1 Invio di un messaggio 7.6.1.1 Aprire, chiudere un programma/messaggio selezionare il menu Start / Tutti i programmi / Mozilla Thunderbird

Dettagli

WWW.ICTIME.ORG. NVU Manuale d uso. Cimini Simonelli Testa

WWW.ICTIME.ORG. NVU Manuale d uso. Cimini Simonelli Testa WWW.ICTIME.ORG NVU Manuale d uso Cimini Simonelli Testa Cecilia Cimini Angelo Simonelli Francesco Testa NVU Manuale d uso EDIZIONE Gennaio 2008 Questo manuale utilizza la Creative Commons License www.ictime.org

Dettagli

IL MIO PRIMO SITO: NEWS

IL MIO PRIMO SITO: NEWS Pagina 1 IL MIO PRIMO SITO: NEWS Sommario IL MIO PRIMO SITO: NEWS...1 Introduzione...2 I Contenitori...2 Creo un Contenitore...3 I Tracciati...4 Creo le Notizie...6 Inserisco il Testo...6 Inserisco un

Dettagli

Syllabus (estratto) Foglio elettronico. Excel. Open office - Office. Principio e funzionamento 26/11/2012. A. Ferrari

Syllabus (estratto) Foglio elettronico. Excel. Open office - Office. Principio e funzionamento 26/11/2012. A. Ferrari Foglio elettronico A. Ferrari Syllabus (estratto) Lavorare con i fogli elettronici e salvarli in diversi formati. Inserire dati nelle celle e applicare modalità appropriate per creare elenchi. Selezionare,

Dettagli

Software standard Alpi Label Ver. 2.2.0.0

Software standard Alpi Label Ver. 2.2.0.0 Pag. 1 di 16 Manuale utente Software standard Alpi Label Ver. 2.2.0.0 Pag. 2 di 16 1 SOMMARIO Sommario 1 Sommario... 2 2 Specifiche Tecniche... 3 3 Maschera Principale... 4 4 Funzioni menù... 7 Pag. 3

Dettagli

Word Libre Office. Barra degli strumenti standard Area di testo Barra di formattazione

Word Libre Office. Barra degli strumenti standard Area di testo Barra di formattazione SK 1 Word Libre Office Se sul video non compare la barra degli strumenti di formattazione o la barra standard Aprite il menu Visualizza Barre degli strumenti e selezionate le barre che volete visualizzare

Dettagli

http://www.programmiamo.altervista.org/c/oop/o...

http://www.programmiamo.altervista.org/c/oop/o... PROGRAMMIAMO Programma per la gestione di un conto corrente C++ - Costruttore e distruttore C++ Home Contatti Supponiamo ora di voler scrivere un programma a menu per la gestione di un conto corrente bancario.

Dettagli

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi

. A primi passi con microsoft a.ccepss SommarIo: i S 1. aprire e chiudere microsoft access Start (o avvio) l i b tutti i pro- grammi Capitolo Terzo Primi passi con Microsoft Access Sommario: 1. Aprire e chiudere Microsoft Access. - 2. Aprire un database esistente. - 3. La barra multifunzione di Microsoft Access 2007. - 4. Creare e salvare

Dettagli

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari

Università di L Aquila Facoltà di Biotecnologie Agro-alimentari RIFERIMENTI Università di L Aquila Facoltà di Biotecnologie Agro-alimentari Esame di Laboratorio di informatica e statistica Parte 3 (versione 1.0) Il riferimento permette di identificare univocamente

Dettagli

Gestione Rapporti (Calcolo Aree)

Gestione Rapporti (Calcolo Aree) Gestione Rapporti (Calcolo Aree) L interfaccia dello strumento generale «Gestione Rapporti»...3 Accedere all interfaccia (toolbar)...3 Comandi associati alle icone della toolbar...4 La finestra di dialogo

Dettagli

LITESTAR 4D v.2.01. Manuale d Uso. WebCatalog Catalogo Elettronico interattivo su Internet. Luglio 2013

LITESTAR 4D v.2.01. Manuale d Uso. WebCatalog Catalogo Elettronico interattivo su Internet. Luglio 2013 LITESTAR 4D v.2.01 Manuale d Uso WebCatalog Catalogo Elettronico interattivo su Internet Luglio 2013 Sommario Webcatalog Catalogo Elettronico interattivo su Internet... 3 Introduzione e Accesso... 3 Metodi

Dettagli

Windows. Cos è I componenti principali Le funzioni essenziali. www.vincenzocalabro.it 1

Windows. Cos è I componenti principali Le funzioni essenziali. www.vincenzocalabro.it 1 Windows Cos è I componenti principali Le funzioni essenziali www.vincenzocalabro.it 1 Cos è Windows è un sistema operativo, ovvero un insieme di software che consente di eseguire le operazioni basilari

Dettagli

www.filoweb.it STAMPA UNIONE DI WORD

www.filoweb.it STAMPA UNIONE DI WORD STAMPA UNIONE DI WORD Molte volte abbiamo bisogno di stampare più volte lo stesso documento cambiando solo alcuni dati. Potremmo farlo manualmente e perdere un sacco di tempo, oppure possiamo ricorrere

Dettagli

Introduzione a Emptypage FTP. I problemi che il software Emptypage FTP si propone di risolvere sono: Usare il tutorial

Introduzione a Emptypage FTP. I problemi che il software Emptypage FTP si propone di risolvere sono: Usare il tutorial Introduzione a Emptypage FTP Emptypage FTP è un software che permette di pubblicare sul proprio sito web immagini, miniature e files in generale. Tutti i giorni, per chi ha un sito dinamico (basato cioè

Dettagli

LA GESTIONE DELLE VISITE CLIENTI VIA WEB

LA GESTIONE DELLE VISITE CLIENTI VIA WEB LA GESTIONE DELLE VISITE CLIENTI VIA WEB L applicazione realizzata ha lo scopo di consentire agli agenti l inserimento via web dei dati relativi alle visite effettuate alla clientela. I requisiti informatici

Dettagli

Gestire immagini e grafica con Word 2010

Gestire immagini e grafica con Word 2010 Gestire immagini e grafica con Word 2010 Con Word 2010 è possibile impaginare documenti in modo semi-professionale ottenendo risultati graficamente gradevoli. Inserire un immagine e gestire il testo Prima

Dettagli

Esercizio data base "Biblioteca"

Esercizio data base Biblioteca Rocco Sergi Esercizio data base "Biblioteca" Database 2: Biblioteca Testo dell esercizio Si vuole realizzare una base dati per la gestione di una biblioteca. La base dati conterrà tutte le informazioni

Dettagli

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo

Portale tirocini. Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 1 di 38 Portale tirocini Manuale utente Per la gestione del Progetto Formativo GESTIONE PROGETTO FORMATIVO Pag. 2 di 38 INDICE 1. INTRODUZIONE... 3 2. ACCESSO AL SISTEMA...

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Come modificare la propria Home Page e gli elementi correlati

Come modificare la propria Home Page e gli elementi correlati Come modificare la propria Home Page e gli elementi correlati Versione del documento: 3.0 Ultimo aggiornamento: 2006-09-15 Riferimento: webmaster (webmaster.economia@unimi.it) La modifica delle informazioni

Dettagli

Progetto INCOME. Manuale Utente Operatore Installazione

Progetto INCOME. Manuale Utente Operatore Installazione VERSIONI Manuale Utente Operatore Installazione Tosca-Mobile VERS. Motivo Modifiche Data Approvazione Approvatore 1.0 Prima emissione 02/12/11 1/21 Sommario SOMMARIO... 2 INTRODUZIONE... 3 1.1. CONTENUTI

Dettagli

Università degli studi di Verona. Corso di Informatica di Base. Lezione 5 - Parte 2. Disegni e Immagini

Università degli studi di Verona. Corso di Informatica di Base. Lezione 5 - Parte 2. Disegni e Immagini Università degli studi di Verona Corso di Informatica di Base Lezione 5 - Parte 2 Disegni e Immagini In questa seconda parte ci occuperemo della gestione di disegni e immagini. In particolare vedremo come:

Dettagli

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono:

POSTA ELETTRONICA Per ricevere ed inviare posta occorrono: Outlook parte 1 POSTA ELETTRONICA La posta elettronica è un innovazione utilissima offerta da Internet. E possibile infatti al costo di una telefonata urbana (cioè del collegamento telefonico al nostro

Dettagli

Il controllo della visualizzazione

Il controllo della visualizzazione Capitolo 3 Il controllo della visualizzazione Per disegnare in modo preciso è necessario regolare continuamente l inquadratura in modo da vedere la parte di disegno che interessa. Saper utilizzare gli

Dettagli

[Tutoriale] Realizzare un cruciverba con Excel

[Tutoriale] Realizzare un cruciverba con Excel [Tutoriale] Realizzare un cruciverba con Excel Aperta in Excel una nuova cartella (un nuovo file), salviamo con nome in una precisa nostra cartella. Cominciamo con la Formattazione del foglio di lavoro.

Dettagli

Come creare un manifesto con openoffice draw

Come creare un manifesto con openoffice draw Come creare un manifesto con openoffice draw Questo tutorial è stato realizzato usando lo stesso programma che useremo per realizzare il nostro manifesto. Il programma si chiama Draw, e fa parte della

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Uso di base delle funzioni in Microsoft Excel

Uso di base delle funzioni in Microsoft Excel Uso di base delle funzioni in Microsoft Excel Le funzioni Una funzione è un operatore che applicato a uno o più argomenti (valori, siano essi numeri con virgola, numeri interi, stringhe di caratteri) restituisce

Dettagli

Alla scoperta della nuova interfaccia di Office 2010

Alla scoperta della nuova interfaccia di Office 2010 Alla scoperta della nuova interfaccia di Office 2010 Una delle novità più eclatanti della versione 2007 era la nuova interfaccia con la barra multifunzione. Office 2010 mantiene questa filosofia di interfaccia

Dettagli

Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e

Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e Word è un elaboratore di testi in grado di combinare il testo con immagini, fogli di lavoro e grafici, tutto nello stesso file di documento. Durante il lavoro testo e illustrazioni appaiono sullo schermo

Dettagli

IMPOSTARE UNA MASCHERA CHE SI APRE AUTOMATICAMENTE

IMPOSTARE UNA MASCHERA CHE SI APRE AUTOMATICAMENTE IMPOSTARE UNA MASCHERA CHE SI APRE AUTOMATICAMENTE Access permette di specificare una maschera che deve essere visualizzata automaticamente all'apertura di un file. Vediamo come creare una maschera di

Dettagli

L amministratore di dominio

L amministratore di dominio L amministratore di dominio Netbuilder consente ai suoi clienti di gestire autonomamente le caselle del proprio dominio nel rispetto dei vincoli contrattuali. Ciò è reso possibile dall esistenza di un

Dettagli

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera

WORD per WINDOWS95. Un word processor e` come una macchina da scrivere ma. con molte più funzioni. Il testo viene battuto sulla tastiera WORD per WINDOWS95 1.Introduzione Un word processor e` come una macchina da scrivere ma con molte più funzioni. Il testo viene battuto sulla tastiera ed appare sullo schermo. Per scrivere delle maiuscole

Dettagli

Sweet home 3D e un software gratuito per disegnare ed arredare la casa.

Sweet home 3D e un software gratuito per disegnare ed arredare la casa. SWEET HOME 3D Sweet home 3D e un software gratuito per disegnare ed arredare la casa. 1-COME SCARICARE SWEET HOME: accedendo al sito sweethome3d.com/it, si ha la possibilità di lavorare offline od online.

Dettagli

FPf per Windows 3.1. Guida all uso

FPf per Windows 3.1. Guida all uso FPf per Windows 3.1 Guida all uso 3 Configurazione di una rete locale Versione 1.0 del 18/05/2004 Guida 03 ver 02.doc Pagina 1 Scenario di riferimento In figura è mostrata una possibile soluzione di rete

Dettagli

9 tecniche di selezione testi formattazione, copiare e incollare testi

9 tecniche di selezione testi formattazione, copiare e incollare testi 9 tecniche di selezione testi formattazione, copiare e incollare testi Creare un file (OpenOffice.org Writer) dentro ad una cartella e digitare un breve testo Per prima cosa occorre creare un file di testo

Dettagli

Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma

Introduzione. Macro macro istruzione. Sequenza di comandi memorizzati programma Introduzione Macro macro istruzione Sequenza di comandi memorizzati programma Scopo: eseguire più volte una sequenza di operazioni che a mano sarebbero noiose e ripetitive, se non proibitive Le macro Le

Dettagli

Guida all utilizzo del CRM

Guida all utilizzo del CRM Guida all utilizzo del CRM Indice: Creare un Lead Aggiungere una Nota o Allegato Aggiungere un promemoria di Chiamata Aggiungere un promemoria (compito) Aggiungere un promemoria di un Appuntamento on energy

Dettagli

COME CREARE IL DATABASE GESTIONE CLIENTI IN ACCESS 2010

COME CREARE IL DATABASE GESTIONE CLIENTI IN ACCESS 2010 ALBERTO FORTUNATO COME CREARE IL DATABASE GESTIONE CLIENTI IN ACCESS 2010 SPIEGAZIONE ED ILLUSTRAZIONE GUIDATA DI TUTTI I PASSAGGI PER LA CREAZIONE DELLE TABELLE, DELLE MASCHERE, DELLE QUERY, DEI REPORT

Dettagli

tommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1

tommaso.iacomino@gmail.com INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 INTERNET EXPLORER Guida introduttiva CAPITOLO 1 Fig. 1 IMPORTANTE: forse non visualizzate questa barra, se così fosse usiamo questa procedura: posizioniamo il cursore sulla parte vuota tasto destro del

Dettagli

Appunti di: MICROSOFT EXCEL

Appunti di: MICROSOFT EXCEL Appunti di: MICROSOFT EXCEL INDICE PARTE I: IL FOGLIO ELETTRONICO E I SUOI DATI Paragrafo 1.1: Introduzione. 3 Paragrafo 1.2: Inserimento dei Dati....4 Paragrafo 1.3: Ordinamenti e Filtri... 6 PARTE II:

Dettagli

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo

Che cos'è un modulo? pulsanti di opzione caselle di controllo caselle di riepilogo Creazione di moduli Creazione di moduli Che cos'è un modulo? Un elenco di domande accompagnato da aree in cui è possibile scrivere le risposte, selezionare opzioni. Il modulo di un sito Web viene utilizzato

Dettagli

Formattazione. ü Introduzione

Formattazione. ü Introduzione Formattazione ü Introduzione Abbiamo fatto un bel po' di lavoro con Mathematica, vero? Abbiamo visto come creare, valutare, semplificare, disegnare, programmare, cucinare, pescare, ed anche come sfilare

Dettagli

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress

Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress Copyright Andrea Giavara wppratico.com Modulo 4 Il pannello amministrativo dell'hosting e il database per Wordpress 1. Il pannello amministrativo 2. I dati importanti 3. Creare il database - Cpanel - Plesk

Dettagli

Uso delle tabelle e dei grafici Pivot

Uso delle tabelle e dei grafici Pivot Uso delle tabelle e dei grafici Pivot 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella riassuntiva basata su condizioni multiple che hanno punti di

Dettagli

Database Manager Guida utente DMAN-IT-01/09/10

Database Manager Guida utente DMAN-IT-01/09/10 Database Manager Guida utente DMAN-IT-01/09/10 Le informazioni contenute in questo manuale di documentazione non sono contrattuali e possono essere modificate senza preavviso. La fornitura del software

Dettagli

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica.

Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Tecnologie informatiche ACCESSO REMOTO CON WINDOWS Con accesso remoto s'intende la possibilità di accedere ad uno o più Personal Computer con un modem ed una linea telefonica. Un esempio di tale servizio

Dettagli

SOMMARIO... 3 INTRODUZIONE...

SOMMARIO... 3 INTRODUZIONE... Sommario SOMMARIO... 3 INTRODUZIONE... 4 INTRODUZIONE ALLE FUNZIONALITÀ DEL PROGRAMMA INTRAWEB... 4 STRUTTURA DEL MANUALE... 4 INSTALLAZIONE INRAWEB VER. 11.0.0.0... 5 1 GESTIONE INTRAWEB VER 11.0.0.0...

Dettagli

LABORATORIO DI MATEMATICA RENDITE, AMMORTAMENTI, LEASING CON EXCEL

LABORATORIO DI MATEMATICA RENDITE, AMMORTAMENTI, LEASING CON EXCEL LABORATORIO DI MATEMATICA RENDITE, AMMORTAMENTI, LEASING CON EXCEL ESERCITAZIONE GUIDATA: LE RENDITE 1. Il montante di una rendita immediata posticipata Utilizzando Excel, calcoliamo il montante di una

Dettagli

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE

LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE LE CARATTERISTICHE DEI PRODOTTI MULTIVARIANTE Che cosa sono e a cosa servono le caratteristiche? Oltre a descrivere le qualità di un prodotto con un testo generico (descrizione) è possibile dettagliare

Dettagli

CREARE UN JUKEBOX CON POWERPOINT

CREARE UN JUKEBOX CON POWERPOINT CREARE UN JUKEBOX CON POWERPOINT La creazione di un Jukebox con PowerPoint ti consentirà di sfruttare alcune interessanti funzioni di questo programma, che potrai riutilizzare in futuro anche per altri

Dettagli

Corso su LINQ Lezione 16. Introduzione

Corso su LINQ Lezione 16. Introduzione LINQ to SQL Introduzione Con questa lezione introduciamo il flavor LINQ to SQL. Dopo aver visto quindi tutte le funzionalità e gli operatori di LINQ to Object, affronteremo ora la tematica riguardante

Dettagli

Office 2007 Lezione 07. Gestione delle immagini

Office 2007 Lezione 07. Gestione delle immagini Le immagini Gestione delle immagini Office 2007 presenta molte interessanti novità anche nella gestione delle immagini. Le immagini si gestiscono in modo identico in Word, Excel e PowerPoint. Naturalmente

Dettagli

EMISSIONE FATTURE: LA STAMPA AVANZATA

EMISSIONE FATTURE: LA STAMPA AVANZATA EMISSIONE FATTURE: LA STAMPA AVANZATA PREMESSA Con la release 09/07/14, è stata introdotta la procedura STAMPA AVANZATA. In estrema sintesi, consiste nell esportazione delle fatture emesse in un modello

Dettagli

Creare tabelle con Word

Creare tabelle con Word Creare tabelle con Word Premessa In questa breve guida userò spesso il termine "selezionare". "Selezionare", riferito ad un documento informatico, vuol dire evidenziare con il mouse, o con altre combinazioni

Dettagli

Tabelle 3.4. Unità didattica. Copyright 2009 Apogeo. Obiettivi. Prerequisiti

Tabelle 3.4. Unità didattica. Copyright 2009 Apogeo. Obiettivi. Prerequisiti Unità didattica 3.4 In questa unità realizzerai un annuncio da appendere in una bacheca per la vendita del tuo lettore MP3. Il tuo annuncio deve essere gradevole e armonioso in modo che, tra tanti altri

Dettagli

MANUALE EDICOLA 04.05

MANUALE EDICOLA 04.05 MANUALE EDICOLA 04.05 Questo è il video che si presenta avviando il programma di Gestione Edicola. Questo primo video è relativo alle operazioni di carico. CARICO Nello schermo di carico, in alto a sinistra

Dettagli

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte.

I TUTORI. I tutori vanno creati la prima volta seguendo esclusivamente le procedure sotto descritte. I TUTORI Indice Del Manuale 1 - Introduzione al Manuale Operativo 2 - Area Tutore o Area Studente? 3 - Come creare tutti insieme i Tutori per ogni alunno? 3.1 - Come creare il secondo tutore per ogni alunno?

Dettagli

IMPORTAZIONE DI GRAFICI E TABELLE DA EXCEL A WORD

IMPORTAZIONE DI GRAFICI E TABELLE DA EXCEL A WORD WORD 2000 IMPORTAZIONE DI TABELLE E GRAFICI IMPORTAZIONE DI GRAFICI E TABELLE DA EXCEL A WORD Introduzione Il sistema operativo Windows supporta una particolare tecnologia, detta OLE (Object Linking and

Dettagli

SERVIZIO DI MESSAGGISTICA ALL UTENTE. Manuale per l operatore

SERVIZIO DI MESSAGGISTICA ALL UTENTE. Manuale per l operatore SERVIZIO DI MESSAGGISTICA ALL UTENTE Manuale per l operatore rev. 02 giugno 2010 SOMMARIO COME USARE IL PROGRAMMA PER LA MESSAGGISTICA...3 COSA BISOGNA FARE PRIMA DI INIZIARE A UTILIZZARE IL PROGRAMMA...3

Dettagli