Documente Academic
Documente Profesional
Documente Cultură
Introducere in framework-ul QT
Profesor Indrumator:
l.dr.ing. Cosmin Strilechi
Student:
Hahn Raul Alexandru Mihai
Contents
1.Despre QT.........................................................................................................................................3
1.1 Ce este qt ?......................................................................................................................................3
1.1.1 Platforme suportate.................................................................................................................3
1.1.2 Qt stabilitate.............................................................................................................................4
1.2 Qt caractesristici si beneficii..........................................................................................................4
1.2.1 Cross-platform.........................................................................................................................4
1.2.2 Comunicarea intre obiecte (Signals & Slots)..........................................................................4
1.2.3 Class library overview.............................................................................................................5
1.3 De ce Qt? De ce programatorii aleg Qt?........................................................................................6
1.4 Open source sau comercial?...........................................................................................................7
1.5 Despre IDE (Integrated development environment)......................................................................7
1.5.1 Qt este detaliat.........................................................................................................................8
1.5.2 Qt Designer..............................................................................................................................8
1.6 Module Qt.......................................................................................................................................9
1.6.1 Add-onuri Qt............................................................................................................................9
1.7 Comunicarea intre aplicatii...........................................................................................................11
1.7.1 TCP/IP...................................................................................................................................11
1.7.2 Memoria partajata..................................................................................................................11
1.7.3 D-Bus.....................................................................................................................................11
1.7.4 Qt Communication Protocol (QCOP)....................................................................................11
1.7.5 Qt Bluetooth..........................................................................................................................11
1.8 Exemplu "hello wolrd" QT...........................................................................................................12
1.9 Bibliografie...................................................................................................................................13
1.Despre QT
1.1 Ce este qt ?
Qt este un UI framework folosit pentru crearea de GUI (Graphical user interface) ale
aplicatilor, aceastea fiind dezvoltate cu suport multiplatforma. Principiul lui fiind de scrie cod odata
si a compila peste tot, nefiind dependet de platforma. Framework-ul perminte programarea in C++,
JavaScript si QML.
Particularitati:
-framework-ul este usor de instalat, poate fi folosit online installer-ul care permite
modificarea parametrilor pentru instalare si obtinerea de update-uri rapide.
- este usor de folosit, Api-uri intuitive, documentatie vasta care cuprinde si exemple .
- usor de integrat aplicatia pe multe platforme .[1]
1.1.1 Platforme suportate
Qt suporta platforme pe 32 si pe 64 de biti si poate fi de obicei rulat pe toate platformele
folosind GCC.
Platform
Compiler
As provided by Ubuntu
As provided by Ubuntu
As provided by SUSE
Platform
Compiler
1.1.2 Qt stabilitate
Qt este bazat pe Linux KDE (K Desktop Environment), milioane de linii de code, stabile,
care se folosesc intr-o gama foarte variata de aplicatii precum : dispozitive medicale, controlul
traficului aerian, dispozitive embeded etc.
Este un mecanism unic de comunicare intre obiecte bazat pe callback-uri intre acestea, prin
acest mecanism se faciliteaza incapsularea, obiectul care trimite mesajul precum si cel care il
receptioneaza nu stiu unul de celalat.
1.5.2 Qt Designer
Qt designer suporta drag & drop GUI builder, precum si auto-layout system dar si format xml
pentru elemente. Qt designer nu interfereaza cu codul sursa al user-ului.[2]
1.6 Module Qt
QT Essentials - module care stau la baza Qt, ele sunt disponibile pe toate platformele suportate.
Modulele esentiale sunt folosite in majoritatea aplicatilor QT.
o Qt Core - toate modulele se bazeaza pe acest modul, acesta punand la dispozitie un
mecanism puternic pentru comunicarea intre obiecte ( signals an slots) , ierarhizarea
obiecteleor, dynamic cast care functioneaza in library.
o Qt GUI - pune la dispozitie clase pentru integrarea ferestrelor, tratarea
evenimentelor, integrare OpenGL si OpenGL ES, grafica 2D, fonturi si texte.Aceste
clase sunt folosinte intern de interfetele Qt. Pentru dezvoltarea de interfete QT pune
la dispozite un API mai performant (Qt Quick) care se bazeaza pe Qt Gui.
o QT Multimedia - este un modul care dispune de un se vast de tipuri QML si clase C+
+ care ajuta lucrul cu continut multimedia.De asemenea pune la dispozie un API
pentru a avea acces la camera si la fuctionalitatea radio. Qt Audio Engine pune la
dispozitie tipuri pentru playback audio si management . De asemea contine clase
pentru managementul fisierelor video, audio.
o Qt Network - dispune de un set de API-uri pentru programarea aplicatiilor care
folosesc TCP/IP.Si care au in componenta lor operatii precum, cereri catre server,
trimite date catre server folosind HTTP, servicii REST.
o Qt QML - acest modul dispune de un framework petru dezvoltarea de aplicatii si
librarii folozind limbajul QML. Defineste si implementeaza un limbaj si o
infrastructura pentru acesta, de asemenea pune la dispozitie un API care permite
dezvoltatorilor sa extinda limbajul QML cu tipuri customizate si sa integreze cod
QML cu JavaScript si C++.
o Qt SQL - este un modul care ofera suprt pentru bazele de date SQL. API-urile sunt
impartite in mai multe straturi : Driver layer, SQL API layer, User interface layer.
o Qt Test - este un modul care ofera clase specializate pentru scrierea de teste
unitare(unit tests) pentru aplicatiile dezvolatate sau pentru librari.
o Qt webKit - este un modul care ofera un API pentru WebView, care permite
aplicatiilor QML sa redea dinamic regiuni din continutul web.
o Qt Widgets - dispune de un set de elemente de UI pentru a crea interfete clasice
pentru desktop.
1.6.1 Add-onuri Qt
Acest modul aduce functionalitati suplimentare pentru aplicatii mai complexe. Aceste module sunt
valabile doar pe anumite platforme. Multe dintre aceste module sunt inca in dezvoltare sau poate nu
exista compatibilitate cu versiuni mai vechi sau poate pur si simplu ruleaza doar pe anumite
platforme. Pentru fiecare dintre acestea este specificata compatibilitatea.
o Active Qt - acest add-on este suportat doar de platformele windows, acesta ofera
access la controalele ActiveX si obiectele COM puse la dispozitie de orice server
ActiveX in aplicatia Qt.Acest framework este format din 2 module :
1.9 Bibliografie
[1] (2014) http://www.qt.io/
[2] (2014) http://qt-project.org/doc/qtcreator-2.5/creator-overview.html
[3] (2014) http://doc.qt.digia.com/qtcreator-2.4/creator-overview.html