The K Desktop Environment

Weiter Zurück Inhaltsverzeichnis

11. Verwendung des QT Designers in Ihrem Projekt

Der Qt Designer erlaube die Einfache Konstruktion von Widgets und Dialogen, die Ihre Anwendung verwendet in jeglicher, grafischer Hinsicht. Die sehen direkt das Aussehen Ihres Dialoges, wie er dem Benutzer präsentiert wird. Das Benutzen des Designer ist normalerweise der erste Schritt, den Sie nach der Erstellung Ihres Projektes mit dem KappWizard ausführen, um die Hauptansicht, die Benutzer-Abfrage-Dialoge und, nachdem die grafische Arbeit erledigt ist, die Code-Generierung zu erstellen. Auf diesem Weg wird Ihr Projekt all die Teile, die gewöhnlich als "schwierig" und mit langer Entwicklungszeit versehen angesehen werden, enthalten. Der dann verbleibende "Rest" Ihrer Arbeit ist die Implementierung der Funktionalität des generierten Codes. Dieses Kapitel behandelt die Frage, wie Sie den dialog editor verwenden um Ihre Projekt-Widgets zu erstellen ebenso, wie auch was in dem Fall zu tun ist, daß Sie während des weiteren Entwicklungsprozesses die Notwendigkeit für Korrekturen oder Erweiterungen Ihrer widgets sehen.

Sie können zum Designer entweder durch die Auswahl "Dialog Editor" im "Ansicht"-Menü oder durch das entsprechende Werkzeugleisten-Icon umschalten. Wenn Sie fertig sind, schließen Sie einfach das Designer-Fenster.

Die folgenden Abschnitte geben Ihnen einen Überblick über das Interface des Designers, wie Sie einen neuen Dialog erstmals erstellen und wie Sie die Eigenschaften der Fensterelemente ihres Dialoges einstellen sollten. Sie sollten sich hierzu noch Designer tutorial von Trolltech ansehen, welches ebenfalls offline im Dokumentations-Browser von KDevelop vorhanden ist.

11.1 Erstellen eines neuen Dialoges mit dem Designer

Wenn Sie einen neuen Dialog erstellen wollen, fügen Sie einfach eine neue Designer-Datei hinzu. Verwenden Sie hierzu aus der Menüleiste Datei -> Neu. In der Auswahlbox wählen Sie hierzu "QT Designer Datei" und geben einen Namen ein, z.B. ktestdlg.ui. Die.ui-Datei ist der Ort, in welchem der Designer die Informationen über den Dialog abspeichert. Jetzt startet der Designer und fragt Sie, welche Schablone Sie für Ihre Klasse verwenden wollen. Für dieses Beispiel wählen wir "QDialog". Der Designer zeigt Ihnen nun ein leeres Formular, benannt "Form1" und den Property Editor. Zuerst geben wir unserem Dialog einen lesbaren Namen, daher klicken wir auf den Hintergrund des Formulars und geben den Namen im "name" Eigenschaftsfeld statt "Form1" ein. Aus Gründen der Konsistenz sollte man die Klasse so benennen, wie die Datei in der sie gespeichert ist (oder umgekehrt), daher nennen wir es KTestDlg. Um mit dem Designer vertraut zu werden, empfehlen wir das Designer handbook zu lesen. Es enthält wichtige Informationen über die Benutzung der Designer Oberfläche und den Konzepten hinter Signals und Slots, wie sie im Designer verwendet werden.

Exkursion: Wie aus ui Dateien Quellcode wird

Der Designer speichert die Dialog-Klassen in einem XML-kompatiblen Format. Wie bekommen wir also eine C++-Datei aus einer Designer-Datei ? Antwort: KDevelop kümmert sich darum ! Es fügt die .ui Datei dem Makefile hinzu, welches dann dafür sorgt. daß eine Header- und eine Quellcode-Datei beim Kompilieren erstellt wird. Daher können Sie sie einfach verwenden, ohne sich wirklich um den Quellcode kümmern zu müssen.

Da die Dateien bei jedem Kompiliervorgang neu erstellt werden, können Sie Ihren Code nicht direkt in den generierten Dateien implementieren, sondern müssen davon ableiten. Lesen Sie den nächsten Abschnitt um zu lernen, wie das funktioniert.

11.2 Verwenden des neuen Dialoges in KDevelop

Als Nächstes erstellen wir eine Klasse in KDevelop, welche von der Klasse, die wir mit dem Designer erstellt haben, abgeleitet ist. Aus dem "Projekt"-Menü wählen Sie "Neue Klasse". Geben Sie "KTest" als Klassenname an. Wir leiten von KTestDlg ab, geben Sie "KTestDlg" in "Basisklasse" ein. Da QDiallog (die Basisklasse Ihres Dialogs) von QWidget abgeleitet ist, müssen Sie noch "QWidget-Childklasse erzeugen" auswählen. Dies sind alle Informationen, die KDevelop benötigt. Wenn Sie "OK" auswählen, erstellt KDevelop zwei Dateien, "ktest.cpp" und "ktest.h", welche die "KTest"-Klasse beinhaltet, wie von "KTestDlg" abgeleitet ist. Beachten Sie, daß die "#include"-Anweisung für "ktestdlg.h" bereits durch KDevelop eingefügt wurde. Nun können Sie all Ihre Funktionen implementieren und die Klasse innerhalb Ihres Projektes verwenden.

11.3 Umgang mit virtuellen Slots

Wenn Sie virtuelle Slots neu implementieren wollen, benutzen Sie das Menü auf der rechten Maustaste und wählen Sie "Slot hinzufügen" oder benutzen Sie den Klassen-Generator rechts von der Methoden-Auswahlbox in der Werkzeugleiste von KDevelop.

Beachte: Rufen Sie NICHT die zu Grunde liegende, virtuelle Funktion (z.B. KTestDlg::slotCancel()) in der überschreibenden Methode auf !

Weiter Zurück Inhaltsverzeichnis