Costruzione di Interfacce Lezione 18 Qt Tutorial 2

Slides:



Advertisements
Presentazioni simili
Software LIM.
Advertisements

Questa guida spiega come:
Interazione Uomo - Macchina
I Formati Grafici I Formati grafici sono i formati tramite le quali le immagini sono salvate su disco fisso. I Formati grafici si suddividono in Formati.
I linguaggi di programmazione
Questa guida spiega come: - Registrarsi al blog HiStory (pagine 2-3) - Cambiare la grandezza della schermata, zumando avanti e indietro (pagine 4-5) -
Ogni PC, per iniziare a lavorare, ha bisogno di un sistema operativo. Infatti questo è il primo programma che viene eseguito e che permette all'utente.
CONOSCIAMO IL WINDOWS '95.
Come creare e gestire siti web con Kompozer, editor HTML
Sistemi operativi. Informatica 1 SCICO - a.a. 2010/11 2 Insieme di programmi per gestire le risorse del calcolatore – Risorse: memoria di massa, tastiera.
FONDAMENTI DI INFORMATICA
Costruzione di Interfacce Lezione 11 Dal Java al C++ parte 2
11 Dicembre 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 27 Xml for dummies Parte 2
Costruzione di Interfacce Lezione 6 Esercitazione Trasformazioni
25 Nov 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 22 Estensioni Opengl, Multitexturing,
Costruzione di Interfacce Lezione 5 Trasformazioni Affini
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 27 Estensioni Opengl, Multitexturing,
Costruzione di Interfacce Lezione 10 Dal Java al C++ parte 1
Costruzione di Interfacce Lezione 19 Qt Tutorial Designer
Costruzione di Interfacce Lezione 5 Trasformazioni Affini
Costruzione di Interfacce Lezione 20 Qt + Opengl
Costruzione di Interfacce Lezione 12 C++STL
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 25 Xml for dummies Parte 2
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 30 MMeditor e collision detection
25 Nov 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 21 Trackball
Costruzione di Interfacce Lezione 16 Qt
2 Dicembre 2002Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 23 Scene Graphs, Object Loading
Costruzione di Interfacce Lezione 8 Rasterizzazione
Gestione dei Progetti Software 2 (a.a. 204/05) - Lezione 4 1 Il package java.awt Gestione dellI/O orientato alla grafica: le finestre Sviluppo di interfacce.
Progettazione dei Sistemi Interattivi (a.a. 2004/05) - Lezione 91 Il modello OAI (Object-Action Interface) Sintassi e semantica: la sintassi specifica.
13 a lezione di laboratorio Laurea Specialistica in Ingegneria Matematica Ingegneria dei Sistemi Energetici Laurea Specialistica in Ingegneria Matematica.
Windows Sistema operativo con interfaccia grafica per PC IBM compatibili (varie versioni dal 95) La gestione dei file viene fatta secondo le modalità.
Progettare siti con ASP.net
DBMS ( Database Management System)
Per costruire unapplicazione occorre compilare il file (o i file se più duno) che contengono il testo del programma (file sorgente) Il risultato sono uno.
Lezione 17 Esercitazione InDesign
Inserire il CDROM CygWin nel lettore, aprite la directory cyg e lanciare in esecuzione (con un doppio click del pulsante sinistro del mouse sulla relativa.
Proprieta di file/cartella Pannello di controllo
il valore della manutenzione Webgate 7
Iniziamo a usare il computer
UNIVERSITÀ DEGLI STUDI DI MODENA E REGGIO EMILIA Facoltà di Ingegneria “Enzo Ferrari” – Sede di Modena Corso di Laurea Specialistica in Ingegneria Informatica.
SY-MAP tools Guida allutilizzo. SY-MAP tools I SY-MAP tools permettono di collegare informazioni memorizzate su un database e elementi grafici dei file.dgn.
Il Sistema Operativo (1)
10 corso tecniche di rappresentazione dello spazio A.A. 2009/2010 docente Arch. Emilio Di Gristina.
Configurare la Barra dei Comandi di FCG
Configurazione del sistema FireClass Graphics - Note Addizionali.
Modulo 6 Test di verifica
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 29 ancora MMeditor,
Lezione 23 Riccardo Sama' Copyright  Riccardo Sama' Lavorare con gli strumenti.
Introduzione a Windows (Seconda parte) Lezione 3 Riccardo Sama' Copyright 
Lezione 11 Riccardo Sama' Copyright  Riccardo Sama' Excel.
Interfacce grafiche Capitolo 27 marzo 2004 Interfacce grafiche.
HTML 4.01 Apogeo. I tag di base Capitolo 1 I tag SintassiEsempi:
IL Client NOG Ecco la presentazione del Client NOG: è il software che risiede sul computer del cliente e coordina i vari moduli software presenti nella.
1 NERD? Non E’ Roba per Donne? Secondo lab - 10 Aprile.
Esercizio ODBC. Configurare il driver ODBC Start  Control Panel  Administrative Tools Aprire: Data Source(ODBC) User DSN  Add…. Selezionare il driver.
Costruzione di Interfacce - Paolo Cignoni1 Costruzione di Interfacce Lezione 25 Xml for dummies Parte 2
Tutorial Rehabilitation Reference Center support.ebsco.com.
Stampe ArcView lezione 5. Preparazione alla lezione Realizzare una mappa tematica: Aprire ea av ai Realizzare una mappa tematica come.
Introduzione a Windows Lezione 2 Riccardo Sama' Copyright  Riccardo Sama'
Sistemi operativi di rete Ing. A. Stile – Ing. L. Marchesano – 1/18.
A.a. 2005/2006Introduzione a ROOT: E. Meroni ROOT É un potente strumento object oriented per analisi di dati, preparato al CERN Può.
Elaborazione Testi Oggetti grafici
Microsoft Access Informatica 04/05 Introduzione alle basi di dati.
Tutorial Holdings Management, aggiungere, modificare ed assegnare note support.ebsco.com.
Tutorial Holdings Management, aggiungere, modificare e assegnare link a Full Text Finder support.ebsco.com.
I Sistemi Operativi. Definizione Per Sistemi Operativi (di seguito SO) si intendono quei pacchetti software, a loro volta costituiti da più sottoprogrammi.
Insegnamento “Tecniche audiovisive” Corso di Laurea in Ingegneria delle Comunicazioni Yahoo! Widget TV Marco Teodori Assistente Ricercatore - Fondazione.
Gestire la navigazione. Creare un’app multi Controller La quasi totalità delle app è suddivisa in più ViewControllers, ognuno con specifiche funzionalità.
Transcript della presentazione:

Costruzione di Interfacce Lezione 18 Qt Tutorial 2

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni2 GUI Applications Le applicazioni classiche hanno uninterfaccia abbastanza standard dialog based lapplicazione e principalmente un dialog che permette di settare un po di opzioni e poi terminare clienti ftp, programmi stateless, ecc. main window lapplicazione e strutturata con unarea centrale dove vengono visualizzati/editati i dati e con una barra di menu, una o piu toolbar e una status bar documento centriche

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni3 GUI Applications le applicazioni main window sono basate su almeno due template Single Document Interface (SDI) lapp puo lavorare su un solo doc alla volta wordpad/mediaplayer Multiple Document Interface (MDI) si puo lavorare su piu doc contemporaneamente, tenuti in finestre separate in uno workspace strutturato come un piccolo desktop PaintShopPro/ Acrobat Reader ecc.

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni4 QT supporta entrambi i generi di app. ogni widget puo essere fatto il widget principale dellapp perfetto per dialog based app.

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni5 The main window QMainWindow e un widget che fa da framework per le app basate sul concetto di documento la parte in alto del widget e occupata da una barra di menu sotto ci sono le toolbar (docked o floating) in basso alla finestra ce una status bar la parte centrale del widget e destinata al documento

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni6 Menu QPopupMenu possono essere standalone: menu contestuali attaccati ad una barra attaccati ad un item di un altro menu ogni item si puo connettere ad uno slot QPopupMenu *fileMenu = new QPopupMenu( this ); fileMenu->insertItem("&New", this, SLOT(newFile()), CTRL+Key_N ); fileMenu->insertItem("&Open...", this, SLOT(open()), CTRL+Key_O); fileMenu->insertSeparator(); fileMenu->insertItem("E&xit", qApp, SLOT(quit()), CTRL+Key_Q );

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni7 Menu Bar QMenuBar implementa una generica barra dei menu a cui si attaccano i popupmenu appare dove vuole il SO nei mac in cima allo schermo win e linux in cima alla mainwindows QMenuBar *bar = new QMenuBar( this ); bar->insertItem( "&File", fileMenu ); bar->insertItem( "&Edit", editMenu ); bar->insertItem( "&Help", helpMenu );

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni8 Toolbar QToolButton bottone con un icona e opz del testo QToolBar unapp puo avere un qualunque numero di toolbar possono contenere sia bottoni che altri widget (combobox, spinbox)

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni9 Actions Un interfaccia offre differenti modi per fare la stessa cosa, e.g. save tramite: menu bottone ctrl+s Qaction incapsula questo concetto permettendo di definire unazione in un posto solo QAction *saveAct = new QAction( "Save", saveIcon, "&Save", CTRL+Key_S, this ); connect( saveAct, SIGNAL(activated()), this, SLOT(save()) ); saveAct->addTo( fileMenu ); saveAct->addTo( toolbar ); lo stato dei vari item viene mantenuto consistente possibilita di gestire gruppi (stile radiobutton)

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni10 Help tre tipi di modi di fornire informazioni allutente help standard html based, lengine di browsing e lassistant di qt stesso che oltre a far vedere html permette di farci ricerche. tooltips piccole win solo testo, di solito associate a bottoni di toolbar che non hanno testo che le descrive. Appaiono automaticamente QToolTip::add( quitButton, "Leave the application" );

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni11 Help 2 balloon quello che appare con guida rapida che serve a descrivere un po piu dettagliatamente gli elementi dellinterfaccia: const char * fileOpenText = " " "Click this button to open a new file. " "You can also select the Open command "from the File menu. "; QMimeSourceFactory::defaultFactory()->setPixmap( "fileopen", fileOpenAction->iconSet().pixmap() ); fileOpenAction->setWhatsThis( fileOpenText ); QMimeSourceFactory fornisce uninterfaccia astratta per memorizzare dati come immagini, suoni che hanno un mimetype. le cose memorizzate dentro la default factory sono accessibili da tutta lapplicazione

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni12 Larea centrale Larea centrale di una QMainWindow puo contenere qualsiasi widget. E.g. in un text editor si puo usare un QTextEdit come widget centrale: QTextEdit *editor = new QTextEdit( mainWindow ); mainWindow->setCentralWidget( editor ); Multiple document interface (MDI) e realizzata usando come central widget la classe Qworkspace

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni13 MDI figli di QWorkspace possono essere widgets of qualunque tipo. I figli di QWorkspace sono visualizzati con frame simile a quello dei widget top level Hide, show, minimize funzionano per i child di QWorkspace come per i widget top level idem per posizionamento di finestre ecc.

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni14 Drawing non in 3d Qimage supporta input, output e manipolazione di immagini supporta formati BMP, GIFH, JPEG,MNG, PNG, PNM, XBM, and XPM. la maggior parte dei widget possono mostrare immagini (bottoni, label, menu items ecc) QPushButton *button = new QPushButton( "&Find Address", parent ); button->setIconSet(IconSet(QImage("find.bmp")) );

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni15 QPainter Classe che astra laccesso agli strumenti di disegno su di un particolare contesto funzionalita classiche di base disegno punti,linee,trasformazioni, testo Origine top left bottom right e w-1 e h-1 Usato dai widget per ridisegnarsi tramite override del metodo void myClass::paintEvent(QPaintEvent *)

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni16 paint devices QPainter funziona su generici paint device. i QWidget sono anche essi stessi paint device QPixmap essenzialmente un off-screen widget. usato per fare double buffering. QPicture e urna rappresentazione vector dellimmagine che puo essere scaled, rotated, and sheared bene. Supporata SVG XML format QPrinter su Windows, i paint commands sono mandati al Windows print engine; su Unix si fa via PostScript.

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni17 Canvas classe che fornisce un interfaccia di piu alto livello della QPainter per disegnare un QCanvas contiene QCanvasItem sprite, poligoni, ellissi linee ecc. I QCanvasItem possono essere interattivi (eg mossi dallutente)

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni18 Layout QT mette a disposzione gli strumenti per evitare il piazzamento fisso dei widget I widget vengono disposti e scalati allinterno di altri widget adattivamante. Piu robusto a internazionalizzazione scaling font Layout manager standard QHBoxLayout, QVBoxLayout, and QGridLayout.

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni19 Layout 2 Si puo personalizzare il meccanismo: 1.settando minimum size, maximum size, o fixed size per qualche child widgets. 2.Aggiungere stretch items o spacer items (oggetti che riempiono gli spazi vuoti in un layout) 3.cambiare le size policies; Child widgets possono essere obbligati a expand, contract, mantenere la propria size, etc. 4.cambiare le size hints. preferred size and preferred minimum size based on the contents. 5.settare stretch factors. permettono di stabilire proporzioni tra widgets, e.g. del nuovo spazio ottenuto da un resize, 2/3 a widget A e 1/3 a widget B

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni20 il tutorial 2 Chart, unapplicazione vera e propria

29 Oct 2003Costruzione di Interfacce - Paolo Cignoni21 Riferimenti nellassistant il whitepaper su qt tutorial #2 Actions il codice prendetelo direttamente dalla dir examples/chart di QT