SlideShare a Scribd company logo
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010




   Programarea independentă
      de platformă în C++
                                 Qt
Dragoş Acostăchioaie
   http://www.unixinside.org
   dragos@unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                   Qt. Code less. Create more. Deploy everywhere


    ✗   Qt faciliteaza dezvoltarea de cod aplicatii C++ care ruleaza pe o larga varietate de platforme
        hardware si software, de tip desktop si mobile/embedded

    ✗   Qt poate interactiona cu alte limbaje, cum ar fi Java, precum si cu limbaje de scripting, cum
        ar fi Python sau JavaScript

    ✗   Qt suporta platformele:
         ✗ Linux, dar si alte UNIX flavours (eg FreeBSD)
         ✗ MacOS
         ✗ Windows
         ✗ Embedded Linux
         ✗ Symbian OS (Qt este SDK standard pentru Symbian OS incepand cu 2010)
         ✗ Windows CE
         ✗ Maemo

    ✗   Qt suporta mediile integrate:
         ✗ Eclipse
         ✗ Microsoft Visual Studio

Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                     Qt. Code less. Create more. Deploy everywhere

   ✗   Avantajele Qt:
        ✗ un singur cod sursa functioneaza fara modificari pe platforme diferite, conform
          conceptului bine-cunoscut write once, run everywhere

        ✗   performante superioare fata de limbajele care ruleaza intr-o masina virtuala (Java), fiindca
            codul binar se executa nativ, rezultand si consum semnificativ mai redus de resurse

        ✗   utilizeaza sistemul grafic al sistemului de operare pe care ruleaza; astfel, aplicatiile au
            aspectul si comportamentul nativ al sistemului gazda

        ✗   trecerea de la un sistem de operare la altul nu necesita modificari ale codului sursa, ci
            doar compilarea acestuia pe fiecare platforma in parte

        ✗   asigura codul sursa impotriva schimbarilor viitoare ale platformelor gazda; dezvoltatorii
            se pot astfel concentra pe dezvoltarea aplicatiilor, nu pe modificarile API-urilor

        ✗   pot fi atinse mai usor piete multiple (dedicate diferitelor sisteme de operare)

        ✗   costuri mai mici de mentenanta a codului


Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                                                                         Biblioteca Qt


    ✗   Biblioteca de clase Qt cuprinde (non-exhaustiv):
         ✗ interfata utilizator
         ✗ grafica 2D
         ✗ grafica 3D cu OpenGL
         ✗ fire de executie multiple
         ✗ sistem de ferestre pentru sisteme mobile/embedded
         ✗ comunicatie intre obiecte
         ✗ suport pentru stream-uri multimedia
         ✗ integrare a sistemului WebKit
         ✗ comunicatii de retea
         ✗ procesare XML
         ✗ acces la baze de date
         ✗ clase template
         ✗ motor de scripturi ECMA




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                                   Qt. Instrumente pentru dezvoltare

    ✗   Qt Creator – mediu integrat de dezvoltare
         ✗ editor de cod C++ si JavaScript
         ✗ instrumente pentru gestiunea proiectelor
         ✗ sistem de ajutor contextual integrat
         ✗ depanator
         ✗ designer de interfete utilizator
         ✗ controlul versiunilor
         ✗ instrumente pentru gestiunea codului sursa
         ✗ suport pentru platformele desktop si cele mobile

    ✗   Qt Designer – designer de interfete utilizator

    ✗   Qt Linguist – faciliteaza traducerea aplicatiilor in mai multe limbi

    ✗   Qt Assistant – ajuta la realizarea de documentatie pentru aplicatiile Qt

    ✗   Virtual Framebuffer – permite dezvoltarea si depanarea aplicatiilor embedded pe desktop

    ✗   instrumente ce asigura integrarea cu IDE-urile Microsoft Visual Studio si Eclipse


Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                                                      Qt. Licente de utilizare

                                    Qt Commercial           GNU LGPL v2.1             GNU GPL v3.0
                                    Developer License
         Cost de licentiere         Taxa de licentiere      Fara costuri              Fara costuri
                                    (de la ~3000 $)
         Trebuie furnizate          Nu                      Trebuie furnizat          Trebuie furnizat
         modificarile la codul                              codul sursa               codul sursa
         sursa Qt
         Pot fi realizate aplicatii Da                      Da, in concordanta        Nu, aplicatiile sunt
         proprietare                                        cu termenii LGPL          sub licenta GPL si
                                                                                      trebuie furnizat codul
                                                                                      sursa
         Sunt furnizate             Da, sunt trimise        Da                        Da
         actualizari                imediat notificari
                                    celor care au
                                    contract de suport
         Este furnizat suport       Da, celor cu contract   Disponibil contra         Disponibil contra
         tehnic                     incheiat                cost                      cost
         Taxa pentru                Pentru unele            Nu                        Nu
         executabile                platforme embedded


Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                                              Aplicatii care utilizeaza Qt


    ✗ mediul desktop KDE si majoritatea aplicatiilor KDE (Koffice, Amarok etc.)
    ✗ Skype

    ✗ Google Earth

    ✗ VLC

    ✗ Walt Disney Animation Studios

    ✗ Marble (harti)

    ✗ Avogadro (editor molecular)

    ✗ Deutsche Flugsicherung GmbH

    ✗ xTuple ERP

    ✗ numeroase companii: Nokia, Asus, Philips, Volvo, Samsung, Sony, Panasonic, Motorola,

      Accton, Sharp




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                                        Dispozitive care utilizeaza Qt


    ✗ telefoane mobile, palmtop, media playere, dispozitive dedicate, …
    ✗ Motorola: MOTOROKR Z6, E6 si E2, MOTOMING A1200, A680, E680, A780, A760, A768

    ✗ Sony Mylo (PDA)

    ✗ Panasonic KX-WP1050 (telefoane WiFi pentru Skype)

    ✗ Accton (telefoane WiFi pentru Skype)

    ✗ ZTE U980 (telefoane mobile)

    ✗ Archos PMA400, 404, 604, 604WiFi (playere multimedia)

    ✗ Fluke Networks EtherScope series II (tester de retea)

    ✗ Sharp SL-5500, SL-A300, SL-C700, SL-C750, SL-5600, SL-C760, SL-6000, SL-C860

      (PDA)
    ✗ Volvo Human-Machine Interface for buses

    ✗ SDG systems TDS Recon (PDA)

    ✗ Samsung Techwin SRD-16700 (player multimedia)

    ✗ Quanta Computer videophone YE7

    ✗ digitalCube i-Station T43 (media player portabil)

    ✗ Nokia N8




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                                                                           Scurt istoric


    ✗ 1994 – este lansata prima versiune Qt
    ✗ 28 iunie 2005 – Qt versiunea 4 (reprezinta un progres considerabil fata de versiunile

      anterioare)
    ✗ iunie 2008 – Trolltech este cumparat de Nokia (progres considerabil in dezvoltarea

      Qt pe platforme mobile)
    ✗ in acest moment – zeci de mii de aplicatii (comerciale sau open source) sunt bazate pe Qt

    ✗ peste 15 milioane de dispozitive mobile care folosesc Qt aflate pe piata




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                   Mediul integrat de dezvoltare Qt Creator

   ✗ wizard pentru creare/import proiecte Qt
   ✗ editor avansat de cod C++

   ✗ Qt Designer pentru proiectarea elementelor

     ce compun interfata utilizator, integrat
   ✗ Help Qt integrat

   ✗ sistem de compilare a proiectelor (qmake

     si CMake)
   ✗ sistem de gestiune a fisierelor din proiect

   ✗ sisteme de control al versiunilor

   ✗ depanarea aplicatiilor




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                   Mediul integrat de dezvoltare Qt Creator


    ✗   Wizard pentru proiecte Qt
        ✗ realizarea de proiecte noi Qt
        ✗ genereaza automat proiectul si fisierele de baza

    ✗   Editor avansat de cod sursa C++
         ✗ syntax highlighting
         ✗ completare automata a claselor membre, metodele si argumentele functiilor, pentru
           clasele Qt si cele definite de programator
         ✗ marcarea automata a erorilor de sintaxa in timpul editarii
         ✗ auto-indentare
         ✗ posibilitatea de expandare/restrangere a functiilor
         ✗ cautare incrementala a cuvintelor-cheie in timpul editarii
         ✗ comutarea usoara intre declaratia si definitia unei metode
         ✗ posibilitatea de a face semne de carte in cadrul codului sursa
         ✗ posibilitatea de a lucra fara mouse si de a deschide ferestre de editare multiple




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                   Mediul integrat de dezvoltare Qt Creator


    ✗   Qt Designer integrat pentru proiectarea elementelor interfetei utilizator
         ✗ se bazeaza pe editarea de form-uri, sunt generate fisiere de tip XML
         ✗ tehnologie de tip drag-and-drop pentru widget-uri
         ✗ nu este necesara recompilarea intregului proiect
         ✗ permite conectarea
           semnalelor si sloturilor
         ✗ permite definirea actiunilor
           pentru widget-uri
         ✗ pot fi utilizate layout-urile
           pentru a nu defini
           dimensiunea si pozitia
           widget-urilor
         ✗ permite previzualizarea
           aspectului form-urilor




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                   Mediul integrat de dezvoltare Qt Creator


    ✗   Help pentru biblioteca Qt integrat
         ✗ poate fi accesat in timpul editarii prin pozitionarea pe un cuvant-cheie

    ✗   sistem de compilare a proiectului
         ✗ prin intermediul sistemului qmake propriu Qt sau prin Cmake

    ✗   sistem de gestiune a fisierelor din proiect
         ✗ permite localizarea usoara a unui fisier din proiect dupa tipul si numele acestuia

    ✗   sisteme de control al versiunilor
         ✗ sunt suportate: Git, Subversion (SVN), CVS si Perforce

    ✗   compilarea si depanarea aplicatiei
         ✗ sunt suportate gcc si gdb, precum si Microsoft Visual Studio compiler/debugger
         ✗ pot fi stabilite puncte de intrerupere, rula aplicatia linie-cu-linie sau instructiune-cu-
           instructiune, examina continutul variabilelor locale si globale (variabilele compuse pot
           fi vizualizate in forma arborescenta)



Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                   Mediul integrat de dezvoltare Qt Creator


    ✗   Compilarea unei aplicatii pentru dispozitive mobile
         ✗ permite compilarea si executia unei aplicatii pentru un anumit tip de dispozitiv mobil

    ✗   Qt Simulator
         ✗ Permite executia si testarea aplicatiei in conditii similare rularii pe dispozitivul mobil




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                                        Instrumente pentru localizare

    ✗   Qt Linguist – set de instrumente pentru localizarea aplicatiilor Qt
         ✗ aplicatie dedicata traducerii textelor din elementele de interfata, usor de utilizat
           si de persoanele fara cunostinte tehnice
         ✗ suporta Unicode 5.0
         ✗ pot fi manipulate mai multe limbaje intr-un singur document
         ✗ cuvintele sau frazele sunt introduse in codul sursa intr-o limba prestabilita utilizand
           sintaxa tr(“fraza de tradus”)
         ✗ traducerile sunt stocate in fisiere
           dedicate, nefiind necesara modificarea
           codului sursa
         ✗ permite si utilizarea formatelor XLIFF
           (XML Localization Interchange File
           Format) si gettext (po)




Dragoş Acostăchioaie - http://www.unixinside.org
Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010


                                                                      Qt. In loc de concluzie


    ✗   Qt – solutie completa. Alternativa viabila la:
         ✗ Java
         ✗ C# si biblioteci proprietare
         ✗ C++ si biblioteci proprietare




                            … Intrebari?


                                               Sa il ascultam pe Bogdan...

Dragoş Acostăchioaie - http://www.unixinside.org

More Related Content

PDF
Mediul de programare multiplatforma Qt
PDF
Realizarea de aplicatii pentru Android utilizand Qt
ODP
Qt Application Development
PPTX
Tutorial C++
DOC
Instructiuni in c si c++
PDF
Curs C++
PDF
Curs2 poo 2016
DOC
Functii, tablouri si pointeri in c si c++
Mediul de programare multiplatforma Qt
Realizarea de aplicatii pentru Android utilizand Qt
Qt Application Development
Tutorial C++
Instructiuni in c si c++
Curs C++
Curs2 poo 2016
Functii, tablouri si pointeri in c si c++

Viewers also liked (20)

PDF
Limbajul c
PPTX
Pp step-by-step
PPTX
Metrologia
PPTX
C++/CLI: TIpuri de date
DOC
Carte C 2003
PDF
Carte probleme rezolvate cef (1)
PPT
Powerpoint
PPTX
Cursu PS - ASM Cluj
PPTX
Soc Cap01
PDF
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
PPTX
Microsoft power point 2007 tic 10
PPT
Despre powerpoint
PDF
Suport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini web
PPTX
Olga Gaidet, Copilul intra in Internet...
PDF
Microsoft access 2007
PPTX
Aplicaţia power point
PPT
Orasul roman
PPTX
Facebook
Limbajul c
Pp step-by-step
Metrologia
C++/CLI: TIpuri de date
Carte C 2003
Carte probleme rezolvate cef (1)
Powerpoint
Cursu PS - ASM Cluj
Soc Cap01
68 De Pagini De Probleme Rezolvate Si Teorie In Pascal
Microsoft power point 2007 tic 10
Despre powerpoint
Suport 03-cls9-tic-cap05-crearea paginilor web-liste in pagini web
Olga Gaidet, Copilul intra in Internet...
Microsoft access 2007
Aplicaţia power point
Orasul roman
Facebook
Ad

Similar to Programarea independenta de platforma in C++. Qt (20)

PDF
Referat_Java_Creanga_An_II_INFO.pdf
PDF
Cu codul în "nori"
PDF
Microsoft zitec
PPTX
Limbajul java
PDF
Development of Mobile Applications in Java Android
PPT
Vincentiu Cuc - Platforma IT IMI
PPT
Irina Cureraru
PDF
Raytracing Distribuit
PPT
Lupu Vitaliy Bachelor thesis Presentation
PDF
Windows Azure AppFabric - Service Bus, Caching
PPTX
Interactiunea cu Utilizatorul în Python, Java.pptx
PPT
Cap.1
PPSX
[Web Days] Introducere In Silverlight 2
PPTX
Biblioteci JavaScript pentru Ajax.pptx
PPSX
[Web Days] Manipularea Datelor, Conectivitate Si Performanta In Silverlight 2
PDF
Axiologic quark
PDF
Web-ul nostru (cel de toate zilele)
PDF
Prezentare proiect GiSHEO - Marian Neagu
PPTX
CLOUD COMPUTING
Referat_Java_Creanga_An_II_INFO.pdf
Cu codul în "nori"
Microsoft zitec
Limbajul java
Development of Mobile Applications in Java Android
Vincentiu Cuc - Platforma IT IMI
Irina Cureraru
Raytracing Distribuit
Lupu Vitaliy Bachelor thesis Presentation
Windows Azure AppFabric - Service Bus, Caching
Interactiunea cu Utilizatorul în Python, Java.pptx
Cap.1
[Web Days] Introducere In Silverlight 2
Biblioteci JavaScript pentru Ajax.pptx
[Web Days] Manipularea Datelor, Conectivitate Si Performanta In Silverlight 2
Axiologic quark
Web-ul nostru (cel de toate zilele)
Prezentare proiect GiSHEO - Marian Neagu
CLOUD COMPUTING
Ad

More from Dragos Tudor Acostachioaie (11)

ODP
Ce mai este nou in open-source si nu numai
ODP
Realizarea unui cloud privat cu tehnologii open-source
PDF
Introduction to Qt programming
PDF
Linux distributions. Ubuntu Server
PDF
Dela e-mail la Social Web
PDF
Imbunatatirea securitatii sistemelor Linux cu ajutorul grsecurity
PPT
Moodle patru ani de ectivitate în învăţământul
PPTX
Introducere in Flex si AIR
ODP
Razboiul din fiecare birou
PDF
Linux ca platforma pentru dezvoltare
Ce mai este nou in open-source si nu numai
Realizarea unui cloud privat cu tehnologii open-source
Introduction to Qt programming
Linux distributions. Ubuntu Server
Dela e-mail la Social Web
Imbunatatirea securitatii sistemelor Linux cu ajutorul grsecurity
Moodle patru ani de ectivitate în învăţământul
Introducere in Flex si AIR
Razboiul din fiecare birou
Linux ca platforma pentru dezvoltare

Programarea independenta de platforma in C++. Qt

  • 1. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Programarea independentă de platformă în C++ Qt Dragoş Acostăchioaie http://www.unixinside.org dragos@unixinside.org
  • 2. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Qt. Code less. Create more. Deploy everywhere ✗ Qt faciliteaza dezvoltarea de cod aplicatii C++ care ruleaza pe o larga varietate de platforme hardware si software, de tip desktop si mobile/embedded ✗ Qt poate interactiona cu alte limbaje, cum ar fi Java, precum si cu limbaje de scripting, cum ar fi Python sau JavaScript ✗ Qt suporta platformele: ✗ Linux, dar si alte UNIX flavours (eg FreeBSD) ✗ MacOS ✗ Windows ✗ Embedded Linux ✗ Symbian OS (Qt este SDK standard pentru Symbian OS incepand cu 2010) ✗ Windows CE ✗ Maemo ✗ Qt suporta mediile integrate: ✗ Eclipse ✗ Microsoft Visual Studio Dragoş Acostăchioaie - http://www.unixinside.org
  • 3. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Qt. Code less. Create more. Deploy everywhere ✗ Avantajele Qt: ✗ un singur cod sursa functioneaza fara modificari pe platforme diferite, conform conceptului bine-cunoscut write once, run everywhere ✗ performante superioare fata de limbajele care ruleaza intr-o masina virtuala (Java), fiindca codul binar se executa nativ, rezultand si consum semnificativ mai redus de resurse ✗ utilizeaza sistemul grafic al sistemului de operare pe care ruleaza; astfel, aplicatiile au aspectul si comportamentul nativ al sistemului gazda ✗ trecerea de la un sistem de operare la altul nu necesita modificari ale codului sursa, ci doar compilarea acestuia pe fiecare platforma in parte ✗ asigura codul sursa impotriva schimbarilor viitoare ale platformelor gazda; dezvoltatorii se pot astfel concentra pe dezvoltarea aplicatiilor, nu pe modificarile API-urilor ✗ pot fi atinse mai usor piete multiple (dedicate diferitelor sisteme de operare) ✗ costuri mai mici de mentenanta a codului Dragoş Acostăchioaie - http://www.unixinside.org
  • 4. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Biblioteca Qt ✗ Biblioteca de clase Qt cuprinde (non-exhaustiv): ✗ interfata utilizator ✗ grafica 2D ✗ grafica 3D cu OpenGL ✗ fire de executie multiple ✗ sistem de ferestre pentru sisteme mobile/embedded ✗ comunicatie intre obiecte ✗ suport pentru stream-uri multimedia ✗ integrare a sistemului WebKit ✗ comunicatii de retea ✗ procesare XML ✗ acces la baze de date ✗ clase template ✗ motor de scripturi ECMA Dragoş Acostăchioaie - http://www.unixinside.org
  • 5. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Qt. Instrumente pentru dezvoltare ✗ Qt Creator – mediu integrat de dezvoltare ✗ editor de cod C++ si JavaScript ✗ instrumente pentru gestiunea proiectelor ✗ sistem de ajutor contextual integrat ✗ depanator ✗ designer de interfete utilizator ✗ controlul versiunilor ✗ instrumente pentru gestiunea codului sursa ✗ suport pentru platformele desktop si cele mobile ✗ Qt Designer – designer de interfete utilizator ✗ Qt Linguist – faciliteaza traducerea aplicatiilor in mai multe limbi ✗ Qt Assistant – ajuta la realizarea de documentatie pentru aplicatiile Qt ✗ Virtual Framebuffer – permite dezvoltarea si depanarea aplicatiilor embedded pe desktop ✗ instrumente ce asigura integrarea cu IDE-urile Microsoft Visual Studio si Eclipse Dragoş Acostăchioaie - http://www.unixinside.org
  • 6. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Qt. Licente de utilizare Qt Commercial GNU LGPL v2.1 GNU GPL v3.0 Developer License Cost de licentiere Taxa de licentiere Fara costuri Fara costuri (de la ~3000 $) Trebuie furnizate Nu Trebuie furnizat Trebuie furnizat modificarile la codul codul sursa codul sursa sursa Qt Pot fi realizate aplicatii Da Da, in concordanta Nu, aplicatiile sunt proprietare cu termenii LGPL sub licenta GPL si trebuie furnizat codul sursa Sunt furnizate Da, sunt trimise Da Da actualizari imediat notificari celor care au contract de suport Este furnizat suport Da, celor cu contract Disponibil contra Disponibil contra tehnic incheiat cost cost Taxa pentru Pentru unele Nu Nu executabile platforme embedded Dragoş Acostăchioaie - http://www.unixinside.org
  • 7. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Aplicatii care utilizeaza Qt ✗ mediul desktop KDE si majoritatea aplicatiilor KDE (Koffice, Amarok etc.) ✗ Skype ✗ Google Earth ✗ VLC ✗ Walt Disney Animation Studios ✗ Marble (harti) ✗ Avogadro (editor molecular) ✗ Deutsche Flugsicherung GmbH ✗ xTuple ERP ✗ numeroase companii: Nokia, Asus, Philips, Volvo, Samsung, Sony, Panasonic, Motorola, Accton, Sharp Dragoş Acostăchioaie - http://www.unixinside.org
  • 8. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Dispozitive care utilizeaza Qt ✗ telefoane mobile, palmtop, media playere, dispozitive dedicate, … ✗ Motorola: MOTOROKR Z6, E6 si E2, MOTOMING A1200, A680, E680, A780, A760, A768 ✗ Sony Mylo (PDA) ✗ Panasonic KX-WP1050 (telefoane WiFi pentru Skype) ✗ Accton (telefoane WiFi pentru Skype) ✗ ZTE U980 (telefoane mobile) ✗ Archos PMA400, 404, 604, 604WiFi (playere multimedia) ✗ Fluke Networks EtherScope series II (tester de retea) ✗ Sharp SL-5500, SL-A300, SL-C700, SL-C750, SL-5600, SL-C760, SL-6000, SL-C860 (PDA) ✗ Volvo Human-Machine Interface for buses ✗ SDG systems TDS Recon (PDA) ✗ Samsung Techwin SRD-16700 (player multimedia) ✗ Quanta Computer videophone YE7 ✗ digitalCube i-Station T43 (media player portabil) ✗ Nokia N8 Dragoş Acostăchioaie - http://www.unixinside.org
  • 9. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Scurt istoric ✗ 1994 – este lansata prima versiune Qt ✗ 28 iunie 2005 – Qt versiunea 4 (reprezinta un progres considerabil fata de versiunile anterioare) ✗ iunie 2008 – Trolltech este cumparat de Nokia (progres considerabil in dezvoltarea Qt pe platforme mobile) ✗ in acest moment – zeci de mii de aplicatii (comerciale sau open source) sunt bazate pe Qt ✗ peste 15 milioane de dispozitive mobile care folosesc Qt aflate pe piata Dragoş Acostăchioaie - http://www.unixinside.org
  • 10. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Mediul integrat de dezvoltare Qt Creator ✗ wizard pentru creare/import proiecte Qt ✗ editor avansat de cod C++ ✗ Qt Designer pentru proiectarea elementelor ce compun interfata utilizator, integrat ✗ Help Qt integrat ✗ sistem de compilare a proiectelor (qmake si CMake) ✗ sistem de gestiune a fisierelor din proiect ✗ sisteme de control al versiunilor ✗ depanarea aplicatiilor Dragoş Acostăchioaie - http://www.unixinside.org
  • 11. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Mediul integrat de dezvoltare Qt Creator ✗ Wizard pentru proiecte Qt ✗ realizarea de proiecte noi Qt ✗ genereaza automat proiectul si fisierele de baza ✗ Editor avansat de cod sursa C++ ✗ syntax highlighting ✗ completare automata a claselor membre, metodele si argumentele functiilor, pentru clasele Qt si cele definite de programator ✗ marcarea automata a erorilor de sintaxa in timpul editarii ✗ auto-indentare ✗ posibilitatea de expandare/restrangere a functiilor ✗ cautare incrementala a cuvintelor-cheie in timpul editarii ✗ comutarea usoara intre declaratia si definitia unei metode ✗ posibilitatea de a face semne de carte in cadrul codului sursa ✗ posibilitatea de a lucra fara mouse si de a deschide ferestre de editare multiple Dragoş Acostăchioaie - http://www.unixinside.org
  • 12. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Mediul integrat de dezvoltare Qt Creator ✗ Qt Designer integrat pentru proiectarea elementelor interfetei utilizator ✗ se bazeaza pe editarea de form-uri, sunt generate fisiere de tip XML ✗ tehnologie de tip drag-and-drop pentru widget-uri ✗ nu este necesara recompilarea intregului proiect ✗ permite conectarea semnalelor si sloturilor ✗ permite definirea actiunilor pentru widget-uri ✗ pot fi utilizate layout-urile pentru a nu defini dimensiunea si pozitia widget-urilor ✗ permite previzualizarea aspectului form-urilor Dragoş Acostăchioaie - http://www.unixinside.org
  • 13. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Mediul integrat de dezvoltare Qt Creator ✗ Help pentru biblioteca Qt integrat ✗ poate fi accesat in timpul editarii prin pozitionarea pe un cuvant-cheie ✗ sistem de compilare a proiectului ✗ prin intermediul sistemului qmake propriu Qt sau prin Cmake ✗ sistem de gestiune a fisierelor din proiect ✗ permite localizarea usoara a unui fisier din proiect dupa tipul si numele acestuia ✗ sisteme de control al versiunilor ✗ sunt suportate: Git, Subversion (SVN), CVS si Perforce ✗ compilarea si depanarea aplicatiei ✗ sunt suportate gcc si gdb, precum si Microsoft Visual Studio compiler/debugger ✗ pot fi stabilite puncte de intrerupere, rula aplicatia linie-cu-linie sau instructiune-cu- instructiune, examina continutul variabilelor locale si globale (variabilele compuse pot fi vizualizate in forma arborescenta) Dragoş Acostăchioaie - http://www.unixinside.org
  • 14. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Mediul integrat de dezvoltare Qt Creator ✗ Compilarea unei aplicatii pentru dispozitive mobile ✗ permite compilarea si executia unei aplicatii pentru un anumit tip de dispozitiv mobil ✗ Qt Simulator ✗ Permite executia si testarea aplicatiei in conditii similare rularii pe dispozitivul mobil Dragoş Acostăchioaie - http://www.unixinside.org
  • 15. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Instrumente pentru localizare ✗ Qt Linguist – set de instrumente pentru localizarea aplicatiilor Qt ✗ aplicatie dedicata traducerii textelor din elementele de interfata, usor de utilizat si de persoanele fara cunostinte tehnice ✗ suporta Unicode 5.0 ✗ pot fi manipulate mai multe limbaje intr-un singur document ✗ cuvintele sau frazele sunt introduse in codul sursa intr-o limba prestabilita utilizand sintaxa tr(“fraza de tradus”) ✗ traducerile sunt stocate in fisiere dedicate, nefiind necesara modificarea codului sursa ✗ permite si utilizarea formatelor XLIFF (XML Localization Interchange File Format) si gettext (po) Dragoş Acostăchioaie - http://www.unixinside.org
  • 16. Şcoala de vară “Informatica la castel”, Macea, 6-11 septembrie 2010 Qt. In loc de concluzie ✗ Qt – solutie completa. Alternativa viabila la: ✗ Java ✗ C# si biblioteci proprietare ✗ C++ si biblioteci proprietare … Intrebari? Sa il ascultam pe Bogdan... Dragoş Acostăchioaie - http://www.unixinside.org