Your SlideShare is downloading. ×
0
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Qt detaliu
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Qt detaliu

811

Published on

Qt in details

Qt in details

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
811
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
10
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Qt în detaliu Bogdan Acostăchioaie Facultatea de Informatică, Iași bogdan.acostachioaie@info.uaic.ro
  • 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 Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 3. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Modulul QtCore Obiective principale: ● Operații citire-scriere ● Manipularea obiectelor și a evenimentelor ● Fire de execuție 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 Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 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 (ascultătoare de evenimente) ● Sloturile sunt funcţii membre ale claselor, care sunt apelate ca răspuns 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 Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 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 (emițător,SIGNAL(semnal()), receptor, SLOT(slot())); Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 6. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Qt. Semnale și sloturi Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 7. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Modulul QtGui ● Conține un set complet de widget-uri customizabile – de la butoane și dialoguri până la tabele și meniuri de tip arbore ● Widgeturile se redimensionează automat în funcție de orientarea și dimensiunea ecranului sau a ferestrei ● Oferă un sistem pentru fonturi (utilizează fonturile de pe maşina gazdă) și layout-uri ● Diverse stiluri oferite de mecanismul Qt Style Sheet, inspirat din CSS; interfața este ușor customizabilă, cu doar câteva linii de cod CSS ● Suport pentru anti-aliasing, SVG (grafică vectorială scalabilă), grafică accelerată hardware şi ieşiri video multiple Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 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 interacţiunea cu elementele grafice 2D şi un widget pentru vizualizarea acestor elemente, cu suport pentru rotaţie şi mărire. Utilizează un arbore binar pentru accesul rapid la elementele grafice, putând 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 bidirecţionale ● Permite localizarea aplicaţiei în mai multe limbi, fără recompilarea codului sursă Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 9. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Modulul QtGui ● Grafică 2D, care oferă funcții de mărire, rotație, transformare în perspectivă, animație, drag-and-drop şi suport pentru tipărire Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 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 aplicații ● Este posibilă redarea locală sau prin streaming ● Abstractizează formatele native multimedia: QuickTime pe Mac, DirectShow pe Windows și GStreamer pe Linux ● Se pot citi informațiile meta din fișisere (titlul,albumul,artistul) ● Exemplu: Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 11. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Modulele QtNetwork şi QtDBus ● Simplifică programarea în rețea ● Conține clase de nivel înalt, cum ar fi QHttp sau QFtp, care implementează protocoalele de la nivelul aplicație ● Conține 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, până la imagini și fișiere media ● Suport pentru comunicaţia intre procese (IPC) şi apeluri de proceduri de la distanţă (RPC), prin protocolul D-BUS Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 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ă puțin suport pentru interfețe cu utilizatorul, dar Qt face posibilă îmbinarea conținutului OpenGL cu acestea Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 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 Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 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 interfeței de programare a aplicației (API) oferă acces la diferite tipuri de baze de date ● Nivelul interfeței cu utilizatorul oferă legătura datelor dintr-o bază de date cu widgeturi conștiente de date ● Se poate folosi împreună cu modelul de programare Model-Vedere- Control (Model-View-Controller) Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 15. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Model-View-Controller ● Arhitectura Model-Vedere-Control este folosită pentru afişarea şi manipularea datelor provenite din orice sursă (inclusiv SQL) ● Gestionează relaţia dintre informaţii si modul de afişare a acestora ● Datele pot fi reprezentate vizual în tabele, liste, liste arborescente, form-uri sau după dorinţa programatorului Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 16. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Modulul QtXml ● Oferă un sistem pentru scrierea și citirea documentelor XML și implementări ale protocoalelor SAX și DOM ● Include XQuery, un limbaj asemănător SQL, cu ajutorul căruia 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 Acostăchioaie bogdan.acostachioaie@info.uaic.ro
  • 17. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Modulul QtWebKit ● Conține un motor de browser HTML, open source – KHTML din proiectul KDE - care simplifică includerea de conținut web în aplicații ● Suportă HTML, XHTML, SVG, CSS și JavaScript ● Suportă includerea de fișiere Flash și elemente audio sau video Bogdan Acostăchioaie bogdan.acostachioaie@info.uaic.ro

×