Qt 4 - GUI-Entwicklung mit C++



Ähnliche Dokumente
Qt GUI-Entwicklung mit C++

Qt GUI-Entwicklung mit C++

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

Qt 4 GUI-Entwicklung mit C++

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

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

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

Jasmin Blanchette, Mark Summerfield

C++GUI Programmierung mit Qt 4

C++ GUI Programmierung mit Qt 4

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

Inhaltsverzeichnis. Vorwort... 5 Grußwort von Safe Software Inc Über den Herausgeber Über die Autoren Einleitung...

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

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

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

Installationsanleitung DIALOGMANAGER

Inhaltsverzeichnis. 1 Hallo 13

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

Einwahlanleitung für DIS-Übungen

Qt Framework Ein Überblick

Inhaltsverzeichnis. Einleitung und Danksagung 11 Für wen ist dieses Buch? 12 Voraussetzungen für die Arbeit mit diesem Buch 13 Danksagung 13

Inhaltsverzeichnis. Einleitung 11 Über die Autorin 12 Danke 13 Über das Buch 13 Der Aufbau des Buches 14 Die CD-ROM zum Buch 14

Installation von PhoneSuite (TAPI)

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

Erste Schritte mit

HTML5- Apps. für iphone und Android. HTML5, CSS3 und jquery Mobile: Design, Programmierung und Veröffentlichung plattformübergreifender Apps

Was gibt es Neues in QuarkXPress 10.1?

Auf einen Blick. 1 Einführung Die Grundlagen Praxis 1 - das Kassenbuch. (zentraler CouchDB-Server) 139

Drucker über die USB-Schnittstelle des AC WLAN ansteuern. Direkte Ansteuerung ( Windows )

Praktikum IKT 3. Semester

Starten sie WordPad über das Startmenü von Windows. WordPad finden Sie im Ordner Zubehör.

Inhaltsverzeichnis. Apps für Android entwickeln

Webseiten erstellen für Einsteiger

Einstieg in Adobe Acrobat 7

Entwicklung mit Arbortext Editor 6.1

Zu diesem Buch 1. Was ist neu in Excel 2007? 5. Erste Schritte mit Excel Danksagung... xi

PowerPoint 2007 Folienmaster und Masterlayouts gestalten

Erste Schritte. mit doo für OS X

MS ACCESS Einführung MODULE

Inhaltsverzeichnis. Vorwort 11. Kapitel 1 Systemaufbau und Technologie 17. Kapitel 2 Bundles, Pakete und das Dateisystem 29

Microsoft Windows 7 Basiswissen. Begleitheft für Computer-Einsteiger

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

Kennen, können, beherrschen lernen was gebraucht wird

Integration Services - Dienstarchitektur

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739

Grafische Benutzeroberfläche mit Glade und Python

Unterrichtsmaterialien in digitaler und in gedruckter Form. Auszug aus: Multimedia - Master Edition zum Themenbereich Multimedia

Process4.biz Release Features Übersicht. Repository. Das Schützen von Diagrammen wurde optimiert (check-in, check-out)

Inhaltsverzeichnis. Einleitung Über die Autorin Danke Über das Buch Der Aufbau des Buches Die CD-ROM zum Buch...

Anleitung zur Installation von Klingeltönen für ios-geräte

User Manual Data 24. Login und Layout

«Die praktische letzte Seite: Piktogramme» Mario Somazzi, Nr. 3/2013-2/2014, S. 40

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

Moodle Dateihandling in den Studienjahrs- Kursen der Lernplattform

Modul: Designmanagement (Prof. Dr. Kern) Einführung in die So/ware MindMaple Lite Manual

1 Einführung Systemvoraussetzungen Reportgenerator... 4

Anleitung. Einrichtung vom HotSync Manager für den Palm 1550 bis 1800 unter Windows 7. Palm SPT 1500 / 1550 Palm SPT 1700 / Bits & Bytes Seite 1

KNX/EIB Engineering Tool Software

Inhaltsverzeichnis. Einleitung und Danksagung. 1 Was ist SharePoint? - Ein Überblick.

Bedienungsanleitung für den VM-1 MP-Dateibetrachter

3a Open BIM Workflow - Import und Weiterbearbeitung

Word Aufbaukurs kompakt. Dr. Susanne Weber 1. Ausgabe, Oktober 2013 K-WW2013-AK

Anleitung zur Installation von SFirm 3.1 inklusive Datenübernahme

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

Datenbanken auf Sybase SQL-Anywhere

1 Einführung Die Grundlagen Praxis 1 das Kassenbuch (zentraler CouchDB-Server) Praxis 2 das Kassenbuch als CouchApp...

6. Benutzerdefinierte Zahlenformate

Einführung. Übersicht: Was Sie brauchen, bevor Sie anfangen Projekt in Dreamweaver anlegen. Austauschen der Logos Logo oben

Vorwort Was ist neu an Access 2000? 17

Helmut Herold. Das Qt-Buch. Portable GUI-Programmierung unter Linux/Unix/Windows. ^m o\ SuSE PRESS

Tipps und Tricks zu den Updates

Aktivierung von Makros in den Erfassungshilfen

Inhaltsverzeichnis. Teil i: Die Grundlagen 19. ^sp^ Einführung 11

Lösungen entwickeln mit Microsoft Excel 95

Tipps und Tricks rund um LabVIEW. Tobias Daub Applications Engineer National Instruments Germany

Inhaltsverzeichnis Dokumentverwaltung Organisation von Dokumenten Ordner erstellen Dokumente im Dateisystem behandeln...

Inhalt. Einführung Über dieses Buch Wissenswertes über den Arbeitsbereich. Zeichnen von Formen Lektion

Lastenheft. Inhaltsverzeichnis. Gruppe: swp09-5. Projektleiterin: Anne Vogler am: 28. April Zielbestimmungen 2. 2 Produkteinsatz 2

Teil A Grundlagen 31

Adobe Flash CS4. Herbert A. Mitschke. inklusive DVD-ROM. Von den Programmier-Grundlagen zur professionellen Webentwicklung

ecwid ist eine E-Commerce Plattform, die Ihnen ermöglicht einen Onlineshop zu erstellen und ihn in Ihre Webseite einzubinden.

Workshop: Entwickeln mit Qt 4. Daniel Molkentin

Inhaltsverzeichnis. Einführung... XIII. Kapitel 1: Erstellen einer Benutzeroberfläche... 1 III

Wie Sie Daten sofort sichern oder Datensicherungen planen. 1. Schritt

P-touch Transfer Manager verwenden

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Handbuch ECDL 2003 Professional Modul 2: Tabellenkalkulation Arbeiten mit Pivot-Tabellen

Inhaltsverzeichnis. Teil I Installation und erste Schritte 19. Vorwort 11. Einleitung Grundlagen und Installation 23

Umzug der Datenbank Firebird auf MS SQL Server

Nachhilfe konkret! Mike's Lernstudio

Installation Citrix Receiver unter Windows 8

EVENTO-WEB. Handbuch für Dozierende. Version: 1.2 Datum: 20. Dezember 2010 Autoren: BA Schuladministration

Microsoft.NET Gadgeteer: Ein raffinierter Weg zum Embedded-Produkt. ECC 2013 Marcel Berger

Programmieren für Ingenieure Sommer Ein Rechner. Rechner sind überall. Gerät, das mittels programmierbarer Rechenvorschriften Daten verarbeitet.

IBM SPSS Statistics Version 24. Installationsanweisung für Mac OS (Lizenz für einen berechtigten Benutzer) IBM

Knasmüller.book Seite vii Mittwoch, 28. März : vii. Inhaltsverzeichnis

Transkript:

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

Vorwort Warum Qt? Voraussetzungen für Qt Ziel und Zielgruppe des Buches Schnellübersicht zum Buch Danksagung 11 11 12 12 13 1 -Einstieg in Q 1.1 Was ist Qt? 15 1.2 Lizenzierung ' 1.3 Qt installieren 1.3.1 Linux/Unix und Mac OS X 1.3.2 MS-Windows (XP/Vista) 19 20 1.4 Hallo Welt mit Qt 1.4.1 Ein ausführbares Qt-Programm entwickeln 22 1.4.2 Das Programm starten 17 18 24 2 Signale und Slots 2.1 Grundlagen 2.1.1 Signale und Slots ermitteln 30 2.1.2 Gegenseitiges Signal-und Slot-Konzept 37 2.1.3 Argumentenlisten von Signal-Slot-Verbindungen 39 2.1.4 Eigene Klasse mit Signalen und Slots definieren bzw. erweitern 40 2.1.5 Widget mit eigenem Slot 2.1.6 Widget mit eigenem Signal 2.1.7 Zusammenfassung 28 46 49 53 3 Basisklassen und Bibliotheken von Qt 3.1 Basisklasse: QObject 3.2 Qt-Klassenhierarchie 3.3 Speicherverwaltung von Objekten 3.4 Programm-Bibliotheken von Qt 3.4.1 QtCore 3.4.2 QtGui 55 55 58 60 62 63 5

3.4.3 QtNetwork 63 3.4.4 QtOpenGL 63 3.4.5 QtSql 63 3.4.6 QtSvg 64 3.4.7 QtXml 64 3.4.8 Qt3Support 65 3.4.9 Der Rest 65 3.5 Meta-Include-Headerdatei 65 \.mmmmmmi.\mmm fgg 4.1 Eigene Widget-Klassen erstellen 67 4.2 Widgets anordnen - das Layout 70 4.2.1 Grundlegende Layout-Widgets 70 4.3 Erstellen von Dialogen (QDialog) 96 4.3.1 Benutzerfreundlichkeit von Dialogen 106 4.4 Vorgefertigte Dialoge 109 4.4.1 QMessageBox - Nachrichtendialoge 110 4.4.2 QFileDialog-Dialoge zur Dateiauswahl 118 4.4.3 QlnputDialog- Eingabedialog 123 4.4.4 QFontDialog-Schriftauswahl 127 4.4.5 QColorDialog-Farbauswahl 128 4.4.6 QPrintDialog-Druckerdialog 129 4.4.7 Dialoge - Übersicht 129 4.5 Qt-Widgets 130 4.5.1 Buttons - Basisklasse QAbstractButton 130 4.5.2 Container-Widgets 152 4.5.3 Widgets zur Zustandsanzeige 179 4.5.4 Widgets für die Eingabe 196 4.5.5 Item-View-Subklassen verwenden (Ansichts-Klassen)... 259 4.5.6 Exkurs: Model-View-Controller (MVC) 297 4.5.7 Vordefinierte Modelle 298 4.6 Online-Hilfen 311 4.6.1 Statuszeilentipp 311 4.6.2 Tooltips 311 4.6.3 Direkthilfe 312 4.6.4 Einfache Dokumentation mit QTextBrowser 314 4.6.5 QAssistantClient-Qt Assistant weiterverwenden 316 6

Qt-Hauptfenster 5.1 Aufbau eines Hauptfensters 317 5.2 Die Klasse QMainWindow 318 5.2.1 Flags für QMainWindow 320 5.2.2 Eine Menüleiste mit der Klasse QMenu und QMenuBar 321 5.2.3 Eine Statusleiste mit der Klasse QStatusBar 339 5.2.4 Eine Werkzeugleiste mit der Klasse QToolBar 346 5.2.5 Verschiebbare Widgets im Hauptfenster mit QDockWidget 352 5.2.6 Einstellungen der Anwendung speichern mit QSettings 357 5.2.7 Anwendungen mit MDI-Fenster erstellen (Klasse QWorkspace) 377 5.2.8 Übersicht zu den Methoden der Klasse QMainWindow 391 5.3 Fenster aufteilen - QSplitter 394 5.3.1 Splitter-Handle - QSplitterHandle 398 5.4 ScrollingArea-QScrollArea 403 Ein-/Ausgabe von Daten 6.1 Schnittstelle für alle E/A-Geräte - QIODevice 411 6.2 Die Datei-QFile 415 6.2.1 Temporäre Datei - QTemporaryFile 423 6.3 Streams 425 6.3.1 Binäre Daten -QDataStream 425 6.3.2 Text Daten - QTextStream 438 6.4 Der Puffer - QBuffer 455 6.5 Verzeichnisse -QDir 457 6.6 Datei-Informationen -QFilelnfo 466 6.7 Interprozesskommunikation - QProcess 474 6.8 Netzwerkkommunikation (Sockets) 489 6.8.1 QAbstractSocket 490 6.8.2 Das HTTP-Protokoll - QHttp 521 6.8.3 Das FTP-Protokol - QFtp 537 6.8.4 Ein Proxy - QNetworkProxy 553 6.9 Multithreads - QThread 554 6.9.1 QMutex 564 6.9.2 QMutexLocker 566 7

6.9.3 QReadWriteLock 567 6.9.4 QSemaphore 569 6.9.5 QWaitCondition 575 6.9.6 Datenstrukturen an den Thread binden - QThreadStorage 578 6.9.7 Ausblick 582 6.10 Relationale Datenbanken - QtSql 583 6.10.1 Die Treiber für QtSql 583 6.10.2 Ein Verbindung zur Datenbank herstellen - QSqlDatabase 585 6.10.3 SQL-Anweisungen ausführen - QSqlQuery 586 6.10.4 SQL-Anweisungen der höheren Ebene - QSqlTableModel 593 6.10.5 View-Klasse QTableView mit SQL verwenden 598 6.11 Klassen und Typen zum Speichern von Daten 601 6.11.1 Qt-eigene Typendefinitionen 601 6.11.2 QString 602 6.11.3 QChar 604 6.11.4 QByteArray 605 6.11.5 QVariant 606 6.11.6 Container und Algorithmen 606 6.12 Datum und Uhrzeit 618 7 Ereignisverarbeitung 7.1 Ereignisschleife (Event-Loop) 619 7.2 Ereignishandler neu implementieren 621 7.2.1 evento neu implementieren 627 7.3 Ereignisfilter implementieren 628 7.4 Eingreifen in die Ereignisverwaltung 631 7.4.1 QApplication::notify() 631 7.4.2 eventfiltero - Ereignisfilter 632 7.4.3 evento 632 7.4.4 Ereignishandler 632 7.4.5 Weitergabe von Ereignissen 632 7.5 Ereignisverarbeitung für Threads 633 7.6 Ereignisverarbeitung optimieren 636 8

8 Drag & Drop und Zwischenablage 639 8.1 Kodierung mit QMimeData 640 8.1.1 Drop-Seite 643 8.1.2 Drag-Seite 648 8.1.3 Benutzerdefinierte MIME-Typen für das Drag & Drop 651 8.2 Zwischenablage - QClipboard 653 9.1 Zeichnen mit Qt - QPainter 657 9.1.1 QPaintEvent 658 9.1.2 Einstellungen 662 9.1.3 Transformation des Koordinatensystems 665 9.2 Bildbearbeitung-Qlmage 674 9.2.1 Speicher- und Bildformate 675 9.2.2 Bild laden und speichern 675 9.2.3 Bildinformationen und Bild-Transformation 676 9.2.4 Pixel auslesen 677 9.3 Drucken mit Qt- QPrinter 683 9.4 OpenGL mit Qt 693 9.4.1 Spezifikation 694 9.4.2 Anwendungsbeispiele in der Praxis von OpenGL 694 9.4.3 Portabilität 695 9.4.4 OpenGL mit Qt anwenden 695 9.5 Vektorgrafik - QSvgWidget 702 10 XML 10.1 SAX-API von Qt verwenden 706 10.1.1 Default-Handler implementieren 708 10.2 DOM-API von Qt verwenden 713 10.2.1 Elemente suchen 724 10.2.2 Weiteres 725 11 Internationale Anwendungen.. 11.1 Voraussetzung für eine Übersetzung 727 11.1.1 Fehlervermeidung und Kommentare 728 11.2 Übersetzen mit Linguist 729 9

11.3 Übersetzung verwenden 11.4 char-arrays internationalisieren 734 12.1 Dynamische Bibliotheken erstellen 737 12.1.1 Dynamische Bibliothek dynamisch nachladen 739 12.1.2 Pluginserstellen 742 12.2 Embedded Progamming mit Qtopia 743 12.3 Debugging-Ausgabe 12.3.1 Fehlerbehebung 74R 12.4 QtStyles J 748 12.5 QApplication, QCoreApplication und die Kommandozeile 750 12.6 Anwendungen mit dem Qt Designer erstellen 752 12.6.1 Ein Dialog-Fenster erstellen 753 12.6.2 Ein Hauptfenster mit dem Designer entwerfen 775 12.7 Das Qt-Ressourcen-System 78,- Index 787 10