====== Fertige Dialoge verwenden ====== Für einige komplexe Dialoge bietet uns Qt bereits Vorlagen, die wir auf Wunsch noch genauer anpassen, aber auch direkt über statische Methoden aufrufen können. Dialog-Objekte werden über die Methode ''QDialog::exec()'' angezeigt und ausgeführt. Sie haben wie die ebenfalls von ''QDialog'' abgeleitete Klasse ''QMessageBox'' eine eigene Event-Schleife. Trotzdem muss davor ein ''QApplication''-Objekt erstellt werden, auch wenn dessen ''exec()''-Methode nicht aufgerufen werden muss. Grundsätzlich gibt es 3 Methoden einen Dialog zu erstellen und anzuzeigen: * Dialog-Objekt erstellen -> ''QDialog::exec()'' aufrufen -> Ergebnis abfragen * Statische Methode aufrufen -> Rückgabewert (Ergebnis) abfragen * Dialog-Objekt erstellen -> Signal über ''open()'' mit einem Slot verbinden -> Dialog ausführen -> Ergebnis im Slot behandeln Natürlich muss nach der Beendigung des Dialoges immer überprüft werden, ob der Benutzer überhaupt etwas eingegeben hat. Er hat schließlich immer die Möglichkeit den Dialog über einen Button oder die Titelleiste zu beenden. Dies kann entweder über das vom Dialog abgefragte Objekt (''isValid()'', ''isNull()'', etc.), oder allgemein über den Dialog selbst geschehen (''QDialog::result()'' muss ''QDialog::Accepted'' zurückliefern).\\ Anstatt die vielen verschiedenen Dialoge zu erklären, sollen hier primär die verschiedenen Funktionsweisen dargestellt werden. Alle nicht erwähnten Dialoge funktionieren nach dem gleichen Schema. ===== Verwendungsmethoden ===== Wie vorhin erwähnt, gibt es 3 Methoden der Verwendung: * [[frameworks:qt:gui:basic:predefdialogs:object|Dialog-Objekt mit Abfrage]] * [[frameworks:qt:gui:basic:predefdialogs:static|Statische Methode]] * [[frameworks:qt:gui:basic:predefdialogs:slot|Dialog-Objekt mit Slot]] ===== Vordefinierte Dialoge ===== In den obigen Kapiteln wurde zwar der eine oder andere Dialog verwendet, aber es gibt noch einige mehr. Am besten nimmt man dafür die Dokumentation zur Hand. ^ Klasse ^ Zweck ^ | [[http://qt-project.org/doc/qdialog.html|QDialog]] | Basisklasse aller Dialoge | | [[http://qt-project.org/doc/qcolordialog.html|QColorDialog]] | Auswahl einer Farbe | | [[http://qt-project.org/doc/qerrormessage.html|QErrorMessage]] | Anzeigen von Fehlermeldungen | | [[http://qt-project.org/doc/qfiledialog.html|QFileDialog]] | Öffnen und Speichern von Dateien | | [[http://qt-project.org/doc/qfontdialog.html|QFontDialog]] | Auswahl einer Schriftart | | [[http://qt-project.org/doc/qinputdialog.html|QInputDialog]] | Primitive Eingabe von Zahlen und Text | | [[http://qt-project.org/doc/qpagesetupdialog.html|QPageSetupDialog]] | Einrichtung einer Seite (Drucker) | | [[http://qt-project.org/doc/qprintdialog.html|QPrintDialog]] | Einrichtung eines Druckers | | [[http://qt-project.org/doc/qprintpreviewdialog.html|QPrintPreviewDialog]] | Druck-Vorschau | | [[http://qt-project.org/doc/qprogressdialog.html|QProgressDialog]] | Fortschritts-Anzeige | | [[http://qt-project.org/doc/qwizard.html|QWizard]] | Mehrseitiger Dialog (zum Beispiel Installations-Wizard) |