Qt GUI-Entwicklung mit C++

Ähnliche Dokumente
Qt GUI-Entwicklung mit C++

Qt 4 - GUI-Entwicklung mit C++

Auf einen Blick. 1 Einstieg in Qt Signale und Slots Basisklassen und Bibliotheken von Qt... 57

Qt 4 GUI-Entwicklung mit C++

1 Einstieg in Qt Signale und Slots Basisklassen und Bibliotheken von Qt Dialoge, Layout und Qt-Widgets...

Inhalt. Teil I: Qt für Einsteiger Über die Autoren Vorwort Einleitung Danksagungen... 21

Jasmin Blanchette, Mark Summerfield

Qt Framework. Thomas Keller - itcampus GmbH Creative Commons Namensnennung-Keine kommerzielle Nutzung 2.0 Deutschland Lizenz

Helmut Herold. Das Qt-Buch. Portable GUI-Programmierung unter Linux/Unix/Windows 2., überarbeitete Auflage

Übersicht GUI PyQT TU Dresden, Sommerkurs Python GUI Folie 1 von XYZ

Qt Programmierung Teil 1 Fenster erstellen by NBBN ( CrashKurs-Artig. Was brauche ich? -Einige C++ Kenntnisse

Workshop: Entwickeln mit Qt 4. Daniel Molkentin

Workshop: Entwickeln mit Qt 4. Daniel Molkentin

Grafische Oberflächen

Grundlagen der Informatik Entwicklung von Anwendungen mit dem Qt-Framework

Qt ist ein plattformübergreifendes Entwicklungs-Framework, geschrieben in C++ Framework für C++, Bindings für andere Programmiersprachen

5. Programmierung von Benutzerschnittstellen

Qt Framework Ein Überblick

Helmut Herold: Das Qt-Buch

GUI Programmierung mit Qt

Auf einen Blick. Auf einen Blick

Interaktive Simulationen Lektion 1/3: Event-Driven Design und Signals

Was ist QT? Beispiele: KDE Google Earth Mathematika

C programmieren. Jürgen Wolf

Grafische Benutzeroberflächen

Einführung in Qt. von. Stephan Hellenbrandt. im Rahmen des Bachelorstudiengangs. Scientific Programming

Einführung in die Programmierung mit Qt

C#.NET mit Methode. Professionelle Software entwickeln mit C# und.net: Grundlagen, Windows, ADO.NET, ASP.NET und Remoting. vieweg.

Inhaltsverzeichnis. Apps für Android entwickeln

1 Einführung Erste Schritte Programmierkurs Datentypen Weiterführende Programmierung

Makros in OpenOffice.org - Basic/StarBasic

Einführung in die Programmierung Wintersemester 2011/12

d:\c++\semesterarbeit\lottosix\lottosix.cpp /* ======================================================================== Dateiname: lottosix.

Von MFC nach Qt: Migrationswege für Softwarehersteller. Eva Brucherseifer, basyskom GbR. Dipl.-Ing. Eva Brucherseifer, basyskom GbR akademy

Martin Marinschek- Wolfgang Radinger. Ruby on Rails. Einstieg in die effiziente Webentwicklung. [Tu dpunkt.verlag

News Inhalt. PNW-News-DE-6.4.docx Seite 2 von 12

Einführung in die Programmierung

Computergrafik - Projekt

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Praktikum IKT 3. Semester

Praxisorientierte Einführung in C++ Lektion: Einführung in das GUI-Toolkit Qt

Universität Leipzig (Institut für Wirtschaftsinformatik) Max Schlee 27. Juni 2012

Überblick. Allgemeines, Geschichtliches. Architektur. Oberfläche. Plugins und deren Einsatz

Inhaltsverzeichnis. Teil 1 Node.js... 1

Praxisorientierte Einführung in C++ Lektion: "Einführung in das GUI-Toolkit Qt"

Skalierbare Webanwendungen mit Python und Google App Engine

Inhaltsverzeichnis. Danksagungen 20

Xojo für FileMaker Entwickler

Mobile App Development. - Einführung -

Vorwort Einführung: Was ist Windows? Arbeiten mit Maus und Tastatur Der erste Einstieg 21 INHALTSVERZEICHNIS

Dokumentation. MC Frog von André Klonz, Rico Andrich und Steve Schneider

XE IDE Cloud Web. secure Data Agile. RAD Studio XE was gibt es Neues in Delphi? Daniel Magin Delphi Experts. Daniel Wolf Delphi-Praxis

Grafische Benutzeroberfläche mit Glade und Python

Qt-Projekte mit Visual Studio 2005

Helmut Herold: Das Qt-Buch

Einführung in die Cross-Plattform Entwicklung Das Intel App Framework

Business Applika-onen schnell entwickeln JVx Framework - Live!

VIVIT TQA Treffen in Köln am API- Programmierung und Nutzung bei HP Quality Center / ALM. Michael Oestereich IT Consultant QA

Java 6 lernen mit Eclipse

Dirk Reinemann Working Student Sales Consulting

mention SugarCRM Schnittstelle Anleitung

TEIL I: OBJEKTORIENTIERUNG UND GRUNDKURS JAVA GRUNDLAGEN DER PROGRAMMIERUNG... 4

Embedded Computing Conference 2014 Embedded UI Qt5

A B A S T A R T Kurz-Anleitung

Thomas Theis. Einstieg in Python. Galileo Press

Wolmerin; Java lernen y. mit Eclipse 3. Galileo Computing

SMARTE WEB-TECHNOLOGIE FÜR HMIS DER GENERATION 4.0

ABAP - Next Generation

Kurzbefehle. Mike McBride Jost Schenck Übersetzung: Jürgen Nagel

Grafische Benutzerschnittstellen in C++ mit GTKmm Betriebssystemunabhängig gestalten 1. WILLKOMMEN IN DER WELT VON GTK+

Inhaltsverzeichnis. 1 Hallo 13

Komponentenorientierte Software-Entwicklung. Seite 1 / 42

Apollo Überblick. Klaus Kurz. Manager Business Development Adobe Systems Incorporated. All Rights Reserved.

Rapid Prototyping. Mai 2008 Allan Jäke

Apache. O'REILLY Beijing Cambridge Farnham Köln Paris Sebastopol Taipei Tokyo. Das umfassende Handbuch. Ben Laurie und Peter Laurie 2.

QGIS Plugins mit Python programmieren

Das Handbuch zu Blogilo. Mehrdad Momeny Übersetzung: Burkhard Lück

PRAXIS. Fotos verwalten, bearbeiten und aufpeppen. bhv. Ganz einfach und kostenlos im Web. Picasa. Google

Drucken, GUI, Design Pattern,... PDF, Usability, Observer Pattern, MVC

Apps für ios entwickeln

Andre Willms. Spielend C++ lernen. oder wie man Käfern Beine macht. Galileo Press

Automatische Registrierung von Drivve Image auf einem Xerox-Gerät

Graphische Benutzungsoberflächen mit Java. Einführung in NetBeans

Kapitel 6,»Objektorientierte Programmierung«, widmet sich der objektorientierten Programmierung mit Python.

3 Hauptfenster erstellen

Das Compare-, Merge- und Versionierungstool für Microsoft Dynamics NAV. NAVObjectEditor RECY CLE

Windows Presentation Foundation

Inhaltsverzeichnis. 2.2 Grundlagen der UML Zusammenfassung... 53

Umgang mit Windows- Betriebssystemen BASISWISSEN

Akonadi. Der PIM-Service für den freien Desktop. Tobias König. 30. März 2010

.NET Windows Forms. Markt + Technik Verlag. Chris Payne

Einführung in Qt. Im Rahmen der Vorlesung Objektorientierte Softwareentwicklung mit C++ (WS 2002/2003)

Über diese Trainingsbasis... VIII. Dokumentkonventionen...IX. Grundzüge des Projektmangements

Webseiten erstellen für Einsteiger

Einführung in die GUI- Programmierung mit Qt 4. von Yannick Müller Erstbetreuer: Prof. Dr. rer. nat. Gerhard Dikta Zweitbetreuer: Uli Schmidt


PC-Kaufmann Supportinformation - Proxy Konfiguration für Elster

Transkript:

Jürgen Wolf Qt 4.6 - GUI-Entwicklung mit C++ Das umfassende Handbuch Galileo Press

Vorwort -. : 11 u 1.1 Was ist Qt? 15 1.2 Lizenzierung : 16 1.3 Qt installieren 16 1.3.1 Linux 17 1.3.2 Mac OS X ; 18 1.3.3 MS-Windows (XP/Vista/Windows 7) 18 1.4»Hallo Welt«mit Qt 19 1.4.1»Hallo Welt«mit der Kommandozeile 19 1.4.2»Hallo Welt«mit Qt Creator 24 1.4.3 Troubleshooting:»Bei mir werden keine Icons angezeigt«29 2.1 Signale und Slots ermitteln 33 2.2 Gegenseitiges Signal-und Slot-Konzept 40 2.3 Argumentenlisten von Signal-Slot-Verbindungen 41 2.4 Eigene Klasse mit Signalen und Slots definieren bzw. erweitern 42 2.5 Widget mit eigenem Slot 49 2.6 Widget mit eigenem Signal 51 2.7 Zusammenfassung.: 55 3.1 Basisklasse: QObject 57 3.2 Qt-Klassenhierarchie 57 3.3 Speicherverwaltung von Objekten 60 3.4 Programm-Bibliotheken von Qt 61 3.4.1 QtCore 64 3.4.2 QtGui 65 3.4.3 QtNetwork :, 65 (91 3.4.4 QtOpenGL 65 3.4.5 QtSql 66 3.4.6 QtSvg... 66

3.4.7 QtXml 67 3.4.8 Qt3Support : ' 67 3.4.9 QtScript 67 3.4.10 QtWebKit.- 67 3.4.11 Phonon 68 3.4.12 Der Rest 68 j 3.5 Meta-Include-Headerdatei : 68 4.1 Eigene Widget-Klassen erstellen 71 S 4.2 Widgets anordnen - das Layout 74 4.2.1 Grundlegende Layout-Widgets 74 4.3 Erstellen von Dialogen (QDialog) 100 4.3.1 Benutzerfreundlichkeit von Dialogen 110 4.4 Vorgefertigte Dialoge 113 4.4.1 QMessageBox - Nachrichtendialoge 113 4.4.2 QFileDialog-Dialoge zur Dateiauswahl 122 4.4.3 QlnputDialog- Eingabedialog 127 4.4.4 QFontDialog- Schriftauswahl 131 j 4.4.5 QColorDialog-Farbauswahl 132 4.4.6 QPrintDialog- Druckerdialog 132 4.4.7 Dialoge-Übersicht 133 4.5 Qt-Widgets 133 4.5.1 Buttons - Basisklasse QAbstractButton 1331 4.5.2 Container-Widgets 155 4.5.3 Widgets zur Zustandsanzeige 181! 4.5.4 Widgets für die Eingabe 199; 4.5.5 Item-View-Subklassen verwenden (Ansichts-Klassen) 263; 4.5.6 Exkurs: Model-View-Controller (MVC) 302: 4.5.7 Vordefinierte Modelle ' 303j 4.6 Online-Hilfen 316 1 4.6.1 Statuszeilentipp > ;... 316 4.6.2 Tooltips 316; 4.6.3 Direkthilfe 317 4.6.4 Einfache Dokumentation mit QTextBrowser 318 4.6.5 QAssistantClient-Qt Assistant weiterverwenden 321

5.1 Aufbau eines Hauptfensters 323 5.2 Die Klasse QMainWindow 324 5.2.1 Flags für QMainWindow 326 5.2.2 Eine Menüleiste mit der Klasse QMenu und QMenuBar 327 5.2.3 Eine Statusleiste mit der Klasse QStatusBar 345 5.2.4 Eine Werkzeugleiste mit der Klasse QToolBar 352 5.2.5 Verschiebbare Widgets im Hauptfenster mit QDockWidget 358 5.2.6 Einstellungen der Anwendung speichern mit QSettings 363 5.2.7 Anwendungen mit MDI-Fenster erstellen (Klasse QWorkspace) 383 5.2.8 Übersicht zu den Methoden der Klasse QMainWindow 396 5.3 Fenster aufteilen - QSplitter 400 5.3.1 Splitter-Handle - QSplitterHandle 404 5.4 ScrollingArea-QScrollArea 409 6.1 Schnittstelle für alle E/A-Geräte-QIODevice 417 6.2 Die Datei - QFile 421 6.2.1 Temporäre Datei - QTemporaryFile 429 6.3 Streams 431 6.3.1 Binäre Daten - QDataStream 431 6.3.2 Text Daten - QTextStream 444 6.4 Der Puffer-QBuffer 461 6.5 Verzeichnisse- QDir 464 6.6 Datei-Informationen - QFilelnfo 473 6.7 Interprozesskommunikation - QProcess 481 6.8 Netzwerkkommunikation (Sockets) 496 6.8.1 QAbstractSocket 496 6.8.2 Das HTTP-Protokoll - QHttp 528 6.8.3 Das FTP-Protokol - QFtp..; 544 6.8.4 Ein Proxy-QNetworkProxy 561 6.9 Multithreads - QThread 562 6.9.1 QMutex 572 6.9.2 QMutexLocker 574

6.9.3 QReadWriteLock 575 6.9.4 QSemaphore 577 6.9.5 QWaitCondition 583 6.9.6 Datenstrukturen an den Thread binden - QThreadStorage 586 6.9.7 Ausblick 590 6.10 Relationale Datenbanken - QtSql 591 6.10.1 Die Treiber für QtSql 591 6.10.2 Ein Verbindung zur Datenbank herstellen - QSqlDatabase 593 6.10.3 SQL-Anweisungen ausführen - QSqlQuery 594 6.10.4 SQL-Anweisungen der höheren Ebene - QSqlTableModel 601 6.10.5 View-Klasse QTableView mit SQL verwenden 606 6.11 Klassen und Typen zum Speichern von Daten 609 6.11.1 Qt-eigene Typendefinitionen 609 6.11.2 QString 610 6.11.3 QChar 612 6.11.4 QByteArray 613 6.11.5 QVariant 614 6.11.6 Container und Algorithmen 614 6.12 Datum und Uhrzeit 626 TL. 7.1 Ereignisschleife (Event-Loop) 627 7.2 Ereignishandler neu implementieren 629 7.2.1 evento neu implementieren 635 7.3 Ereignisfilter implementieren 636 7.4 Eingreifen in die Ereignisverwaltung 639 7.4.1 QApplication::notifyO 639 7.4.2 eventfiltero - Ereignisfilter 640 7.4.3 evento '. > 640 7.4.4 Ereignishandler 640 7.4.5 Weitergabe von Ereignissen 640 7.5 Ereignisverarbeitung für Threads 641 7.6 Ereignisverarbeitung optimieren 644

8.1 Kodierung mit QMimeData 8.1.1 Drop-Seite 8.1.2 Drag-Seite 8.1.3 Benutzerdefinierte MIME-Typen für das Drag & Drop 8.2 Zwischenablage - QClipboard 648 651 656 660 661 9.1 9.2 9.3 9:4 9.5 Zeichnen mit Qt- QPainter 9.1.1 QPaintEvent 9.1.2 Einstellungen 9.1.3 Transformation des Koordinatensystems Bildbearbeitung- Qlmage 9.2.1 Speicher- und Bildformate 9.2.2 Bild laden und speichern 9.2.3 Bildinformationen und Bild-Transformation 9.2.4 Pixel auslesen Drucken mit Qt- QPrinter OpenGL mit Qt 9.4.1 Spezifikation 9.4.2 Anwendungsbeispiele in der Praxis von OpenGL 9.4.3 Portabilität 9.4.4 OpenGL mit Qt anwenden Vektorgrafik - QSvgWidget 665 666 670 673 683 683 684 684 685 691 701 702 702 703 703 710 10.1 SAX-API von Qt verwenden 10.1.1 Default-Handler implementieren 10.2 DOM-API von Qt verwenden 10.2.1 Elemente suchen 10.2.2 Weiteres 714 716 72'1 731 732 11.1 Voraussetzung für eine Übersetzung 11.1.1 Fehlervermeidung und Kommentare 11.2 Übersetzen mit Linguist 11.3 Übersetzung verwenden 11.4 char-arrays internationalisieren 733 734 735 738 740

' ii nin U i Mi, i, i, i ',. - ' ', "! - ' * i * - ^ '' '^ 12.1 Dynamische Bibliotheken erstellen 741 12.1.1 Dynamische Bibliothek dynamisch nachladen 744 12.1.2 Pluginserstellen 746 12.2 Qt Mobility (alias Qt Extended (ehemals Qtopia)) 747 12.3 Debugging-Ausgabe 747 12.3.1 Fehlerbehebung 751 12.4 QtStyles 752 12.5 QApplication, QCoreApplication und die Kommandozeile 754 12.6 QtWebKit-Module 756 12.7 Das Qt-Ressourcen-System 763 12.8 Qt Phonon 765 12.9 Animation Framework 766 12.10 Weitere Klassen im Schnelldurchlauf 770 12.10.1 Multitouch- und Gestensteuerung 770 12.10.2 State Machine Framework 770 12.10.3 Qt für Symbian S60 770 13.1 Die Arbeitsoberfläche von Qt Creator 771 13.2 Qt-Beispiele verwenden 772 13.3 Der Editor von Qt Creator 774 13.3.1 Schneller durch den Code navigieren mit dem Locator 775 13.3.2 Tastenkombinationen 777 13.4 Anwendungen mit dem Qt Designer entwerfen 777 13.4.1 Ein Dialogfenster erstellen 778 13.4.2 Ein Hauptfenster mit dem Designer entwerfen 799 13.5 Mehrere Versionen von Qt verwenden 808 Index 811 10