Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introducere in framework-ul QT
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.
Qt mai pune la dispozitie si widgeturi pentru baze de date care permit editarea formularelor si a
vizualizarea tabelelor.
Qt este open source, poate fi accesat codul si vazut dar poate fi si comercial.
In cazul comercial acesta necesita licenta daca planuiesti sa comercializezi produse care sunt create
folosint qt.
Fiecare dezvoltator necesita licenta.Pretul unei licenta costa in functie de editie si numarul de
platforme.
1.5.2 Qt Designer
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 Serial Port - ofera functionalitatea de baza pentru operatii de tip intrare/ iesire
folosind interfata seriala RS-232.
o Qt SVG - Scalable Vector Graphics - este un limbaj bazat pe XML pentru a descrie
dimensiunea imagnilor sub forma de vector.Qt pune la dispozite clase pentru randare
si afisare a fisierelor SVG.
o Qt WebSockets - implementeaza protocolul pentru web socket-uri care este specificat
in standardul RFC 6455.
o Qt XML Patters - ofera suport pentru XPath, XQuery, XSLT, si validare de scheme
XML.
o Qt Virtual Keyboard - este un framework care implementeaza diferite metode da
introducere a datelor, asemanatoare cu tastatura virtuala QML.
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