Qt în detaliu Bogdan Acostăchioaie Facultatea de Informatică, Ia i ș [email protected]Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010
Transcript
1. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Qt n detaliu Bogdan Acostchioaie Facultatea de Informatic, Iai
[email protected]
2. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Biblioteca Qt. Detalii Biblioteca are la baz o structura
modular: QtCore QtGui QtMultimedia QtNetwork i QtDBus QtOpenGL
QtScript QtSql QtXml QtWebKit Bogdan Acostchioaie
[email protected]
3. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtCore Obiective principale: Operaii citire-scriere
Manipularea obiectelor i a evenimentelor Fire de execuie multiple
Suport pentru plugin-uri Comunicarea ntre obiecte, cu ajutorul
semnalelor i al slot-urilor Include numeroase clase template
proprii: clase container, clase iterator (stil STL sau Java), etc.
Bogdan Acostchioaie [email protected]
4. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Qt. Semnale i sloturi Alternativ eficient la sistemul clasic
de comunicare ntre obiecte (asculttoare de evenimente) Sloturile
sunt funcii membre ale claselor, care sunt apelate ca rspuns la un
anumit semnal Exista un set de semnale i sloturi predefinite Un
semnal poate fi conectat la mai multe sloturi, un slot la mai multe
semnale sau un semnal la alt semnal Atunci cand se petrece un
eveniment se emite un semnal Bogdan Acostchioaie
[email protected]
5. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Qt. Semnale i sloturi Metoda de declarare: -
[modificator_acces] slots: [tip_returnat] nume_functie
(param1,..,paramN); - signals: void nume_functie
(param1,...,paramN); Metoda de conectare: connect
(emitor,SIGNAL(semnal()), receptor, SLOT(slot())); Bogdan
Acostchioaie [email protected]
6. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Qt. Semnale i sloturi Bogdan Acostchioaie
[email protected]
7. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtGui Conine un set complet de widget-uri
customizabile de la butoane i dialoguri pn la tabele i meniuri de
tip arbore Widgeturile se redimensioneaz automat n funcie de
orientarea i dimensiunea ecranului sau a ferestrei Ofer un sistem
pentru fonturi (utilizeaz fonturile de pe maina gazd) i layout-uri
Diverse stiluri oferite de mecanismul Qt Style Sheet, inspirat din
CSS; interfaa este uor customizabil, cu doar cteva linii de cod CSS
Suport pentru anti-aliasing, SVG (grafic vectorial scalabil),
grafic accelerat hardware i ieiri video multiple Bogdan
Acostchioaie [email protected]
8. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtGui Efecte grafice avansate Include arhitectura
(framework) Graphics View, care ofer gestiunea i interaciunea cu
elementele grafice 2D i un widget pentru vizualizarea acestor
elemente, cu suport pentru rotaie i mrire. Utilizeaz un arbore
binar pentru accesul rapid la elementele grafice, putnd vizualiza n
timp real scene complexe, cu milioane de elemente Ofer
posibilitatea de a utiliza motoare grafice multiple (nativ, raster,
OpenGL, Postscript etc.) Ofer suport pentru Unicode i pentru
limbaje bidirecionale Permite localizarea aplicaiei n mai multe
limbi, fr recompilarea codului surs Bogdan Acostchioaie
[email protected]
9. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtGui Grafic 2D, care ofer funcii de mrire, rotaie,
transformare n perspectiv, animaie, drag-and-drop i suport pentru
tiprire Bogdan Acostchioaie [email protected]
10. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtMultimedia Qt include un framework independent de
platforma (chiar i pe sisteme de operare embedded) Phonon, care
asigur utilizarea de con inut audio i video n aplicaii Este posibil
redarea local sau prin streaming Abstractizeaz formatele native
multimedia: QuickTime pe Mac, DirectShow pe Windows i GStreamer pe
Linux Se pot citi informaiile meta din fiisere
(titlul,albumul,artistul) Exemplu: Bogdan Acostchioaie
[email protected]
11. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulele QtNetwork i QtDBus Simplific programarea n reea
Conine clase de nivel nalt, cum ar fi QHttp sau QFtp, care
implementeaz protocoalele de la nivelul aplicaie Conine clase de
nivel jos, cum ar fi QTcpSocket,QTcpServer i QUdpSocket Suport
HTTP,FTP,DNS i HTTP 1.1 asincron Ofer suport pentru accesarea mai
multor tipuri de date, de la HTML i XML, pn la imagini i fiiere
media Suport pentru comunicaia intre procese (IPC) i apeluri de
proceduri de la distan (RPC), prin protocolul D-BUS Bogdan
Acostchioaie [email protected]
12. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtOpenGL OpenGL este o librarie util pentru crearea de
aplica ii portabile cu grafic accelerat hardware, cu performan
ridicat Include OpenGL ES un motor de desenare pentru platformele
Embedded Linux i Windows CE Suport Direct3D pe Windows OpenGL ofer
puin suport pentru interfee cu utilizatorul, dar Qt face posibil
mbinarea coninutului OpenGL cu acestea Bogdan Acostchioaie
[email protected]
13. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtScript Qt include un motor de scripturi ECMA, bazat
pe JavaScriptCore Face posibil integrarea obiectelor Qt (derivate
din Qobject) i utilizarea sistemului de semnale si sloturi n
scripturi, deci integrarea dintre C++ i scripturi Include un
depanator pentru scripturi Qt, deci poate raporta erorile din
scripturi i poate ajuta la localizarea acestora Bogdan Acostchioaie
[email protected]
14. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtSql Ofer conectivitate cu majoritatea sistemelor de
baze de date Nivelul driverelor suport sisteme ODBC, MySql,
PostgreSql, SQLite, ibase, Oracle, Sysbase, DB2 Nivelul interfeei
de programare a aplicaiei (API) ofer acces la diferite tipuri de
baze de date Nivelul interfeei cu utilizatorul ofer legtura datelor
dintr-o baz de date cu widgeturi contiente de date Se poate folosi
mpreun cu modelul de programare Model-Vedere- Control
(Model-View-Controller) Bogdan Acostchioaie
[email protected]
15. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Model-View-Controller Arhitectura Model-Vedere-Control este
folosit pentru afiarea i manipularea datelor provenite din orice
surs (inclusiv SQL) Gestioneaz relaia dintre informaii si modul de
afiare a acestora Datele pot fi reprezentate vizual n tabele,
liste, liste arborescente, form-uri sau dup dorina programatorului
Bogdan Acostchioaie [email protected]
16. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtXml Ofer un sistem pentru scrierea i citirea
documentelor XML i implementri ale protocoalelor SAX i DOM Include
XQuery, un limbaj asemntor SQL, cu ajutorul cruia se poate parcurge
un document XML, din care se pot alege unele elemente pentru export
n alt XML sau n alt format Suport XPath 2.0, limbajul de
transformare XSLT i validarea schemelor XML Bogdan Acostchioaie
[email protected]
17. coala de var Informatica la castel, Macea, 6-11 septembrie
2010 Modulul QtWebKit Conine un motor de browser HTML, open source
KHTML din proiectul KDE - care simplific includerea de coninut web
n aplicaii Suport HTML, XHTML, SVG, CSS i JavaScript Suport
includerea de fiiere Flash i elemente audio sau video Bogdan
Acostchioaie [email protected]