![Page 1: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/1.jpg)
Qt Framework
Thomas Keller - itCampus GmbH14.08.2008
Creative Commons Namensnennung-Keine kommerzielle Nutzung 2.0 Deutschland Lizenz
1Donnerstag, 14. August 2008
![Page 2: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/2.jpg)
Überblick
2Donnerstag, 14. August 2008
![Page 3: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/3.jpg)
Die Themen
• Was ist Qt?
• Anwendungen
• Module
• Was macht Qt besonders?
• Entwicklungstools
• Demoreel
3Donnerstag, 14. August 2008
![Page 4: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/4.jpg)
Was ist Qt?
4Donnerstag, 14. August 2008
![Page 5: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/5.jpg)
Qt ist...
• ein modulares, stringent aufgebautes Entwicklungsframework
• plattform- und architekturunabhängig
• frei bzw. kommerziell lizensierbar (keine funktionalen Einschränkungen bei freier Lizenz)
• ausgesprochen „Cute“ ;)
5Donnerstag, 14. August 2008
![Page 6: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/6.jpg)
Framework-Überblick6Donnerstag, 14. August 2008
![Page 7: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/7.jpg)
Anwendungen
7Donnerstag, 14. August 2008
![Page 8: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/8.jpg)
Qt-Anwendungen
• Qt-Anwendungen sind in der Regel C++ oder Java-Anwendungen („Qt Jambi“) - Qt/Cocoa-Port in Vorbereitung
• „bekannte“ Desktop-Vertreter sind Google Earth, Skype, Adobe Photoshop Album und Unmengen an freier Software (KDE, ...)
• Qtopia (die embedded-Version von Qt) wird bspw. in MOTOROKR-Serie von Motorola genutzt
8Donnerstag, 14. August 2008
![Page 9: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/9.jpg)
Archos 604 Wifi9Donnerstag, 14. August 2008
![Page 10: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/10.jpg)
Module
10Donnerstag, 14. August 2008
![Page 11: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/11.jpg)
Core und GUI
• QtCore - Basisklassen für Nicht-GUI-Anwendungen (Datenstrukturen, Basis-XML-Support, Highlevel-/Lowlevel-Threads, Basis-I/O, Prozessunterstützung, Model-Part des Interview-Framework)
• QtGui - Basisklassen für GUI-Anwendungen (Widgets, Layouts, Graphics View, Application Styling, View-Part des Interview-Framework)
11Donnerstag, 14. August 2008
![Page 12: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/12.jpg)
Netzwerk, Scripting, SQL
• QtNetwork - Highlevel-TCP/IP-Support (Implementierungen von HTTP(S) und FTP, TCP-/UDP-/SSL-Sockets)
• QtScript - ECMA-Scripting für Qt-Applikationen
• QtSQL - Datenbankintegration (Treiber für MySQL, Postgres, SQLite und ODBC liegen der freien Version bei)
12Donnerstag, 14. August 2008
![Page 13: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/13.jpg)
...und noch mehr
• QtSvg - SVG 1.2 Tiny Leseunterstützung
• QtWebKit - Browserintegration
• QtXML - DOM/SAX-Implementierung
• QtXMLPatterns - XPath-/ XQuery-Support
• Phonon - Multimedia-Wrapper (von KDE)
13Donnerstag, 14. August 2008
![Page 14: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/14.jpg)
Was macht Qt besonders?
14Donnerstag, 14. August 2008
![Page 15: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/15.jpg)
...warum Qt?• ausgereifte API, schnelle Entwicklung,
schnelles Prototyping
• natives Look‘n‘Feel auf allen Plattformen; enge Systemintegration (Desktop Services)
• Umfangreiche Widget-/Dialogunterstützung
• Signals and Slots - komfortable Alternative zu unsicheren Callbacks, selbst über Threadgrenzen hinweg!
15Donnerstag, 14. August 2008
![Page 16: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/16.jpg)
Und noch mehr Gründe• Durchdachtes Model-View-Konzept mit
TreeViews, TableViews uva. sowie den dazugehörigen Modelklassen
• High-Level-Threads; einfach skalierbare Anwendungen mit QtConcurrent (MapReduce, FilterReduce)
• Plugin-System, Unit-Testing, Tool-/Containerklassen, ...
• umfangreiche Entwicklungstools...
16Donnerstag, 14. August 2008
![Page 17: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/17.jpg)
Entwicklungstools
17Donnerstag, 14. August 2008
![Page 18: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/18.jpg)
qmake• übersetzt Projekt-Dateien (*.pro) in
Makefiles, Visual Studio Projektdateien oder Xcode-Projekte
• qmake-Projektdateien: einfache, deklarative Textdateien...HEADERS += src/mainwindow.hwin32:HEADERS += src/mainwindow_win32.hDESTDIR = binTRANSLATIONS = res/i18n/guitone_de.tsRESOURCES = res/guitone.qrcmacx:CONFIG(release, debug|release):CONFIG += x86 ppc...
18Donnerstag, 14. August 2008
![Page 19: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/19.jpg)
Show me the Code!• eine ganz einfache Qt-GUI-Anwendung
$ vi test.cpp#include <QtGui>...Ctrl+D$ qmake -project # erzeuge.pro$ qmake # erzeuge Makefile$ make # erstelle Anwendung$ ./test
19Donnerstag, 14. August 2008
![Page 20: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/20.jpg)
Qt Designer20Donnerstag, 14. August 2008
![Page 21: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/21.jpg)
Qt-Designer
• Einfaches Layouten per Mausklick
• Signals/Slots-Integration
• Vorschau für versch. Plattformen
• Stylesheets
• integrierbar in MS Visual Studio und Eclipse (QtJambi)
21Donnerstag, 14. August 2008
![Page 22: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/22.jpg)
Browser-Demo
• Einen funktionsfähigen Webbrowser mit wenigen Klicks erstellen...
(In QDesigner wir ein QWebView mit drei Buttons für die Aktionen „Vor“, „Zurück“ und „Neu Laden“ erstellt - der
Browser ist sofort bedienbar)
22Donnerstag, 14. August 2008
![Page 23: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/23.jpg)
Qt Linguist23Donnerstag, 14. August 2008
![Page 24: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/24.jpg)
Wie lokalisiere ich meine Anwendung?
• Strings mit tr() markieren
• $ lupdate srcdir -ts app_de.ts
• mit Linguist ts-Datei übersetzen
• $ lrelease app_de.ts -qm app_de.qm
• QTranslator zum Laden der Übersetzung nutzen
24Donnerstag, 14. August 2008
![Page 25: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/25.jpg)
Lokalisierungs-Demo
• Eine kleine Utility-Anwendung zur Zeitmessung wird ins Deutsche übersetzt...
(Die WorkTimer Beispielapplikation wird, dem Ablauf auf der vorherigen Folie folgend, lokalisiert. In der Datei main.cpp wird
die resultierende Sprachdatei geladen.)
25Donnerstag, 14. August 2008
![Page 26: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/26.jpg)
Demoreel
(Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.)
26Donnerstag, 14. August 2008
![Page 27: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/27.jpg)
Danke für die Aufmerksamkeit!
Fragen, Wünsche oder Anregungen?
27Donnerstag, 14. August 2008
![Page 28: Qt Framework - Thomas KellerDemoreel (Die QtDemo Applikation und zahlreiche Beispielapplikationen werden vorgeführt.) Donnerstag, 14. August 2008 26. Danke für die Aufmerksamkeit!](https://reader036.vdokument.com/reader036/viewer/2022062607/6058a0ff0c43d9334d092c3e/html5/thumbnails/28.jpg)
Quellen
• http://trolltech.com/products/qt et al
• http://trolltech.com/company/customers/customer-devices
• http://archos.com/img/archos_604wifi/download/ARCHOS_604wifi-finger_browsing.png
28Donnerstag, 14. August 2008