Erzeugen des Quelltextes

In diesem Tutorial verwenden wir das Unterklassen-Erstell-Werkzeug (subclasses tool) im Automake Manager. Falls Du eine KDevelop Version hast die dieses noch nicht unterstützt, gehe bitte zum Kapitel 7. Erzeugen des Quelltextes (alternative Vorgehensweise), in dem ich diesen Schritt ohne das Unterklassen-Tool erkläre.

Wir haben mit einem 'KDE simple project' namens SigCreate begonnen und bisher das Formular sigcreatedlg.ui hinzugefügt. Im Automake Manager, im Abschnitt SigCreate solltest Du drei Dateien haben: sigcreatedlg.ui, sigcreate.cpp und main.cpp. Das Projekt sollte sich compilieren und starten lassen und dabei das Hauptfenster wie in Abbildung 3 darstellen.

Da die SigCreate Klasse für uns ohne Belang ist, entfernen wir sie einfach und verwenden den Namen für die Unterklasse (abgeleitete Klasse) von sigcreatedlg.ui. Im Automake Manager, rechts-klicke auf sigcreate.cpp und wähle Löschen 'Remove'. In dem erscheindenden Dialog wähle bitte 'Also remove it from disk' (Datei auch vom Datenträger löschen). Das gleiche mach bitte auch mit sigcreate.h. Auf diese Art und Weise entfernst Du veraltete Dateien aus Deinem Projekt wobei automatisch Deine Makefile.am-Datei aktualisiert wird. Denke dran, 'automake & friends' und 'configure' zu starten, bevor Du Dein Projekt neu compilierst. Wir machen das jetzt noch nicht, denn wir müssen noch ein paar weitere Änderungen vornehmen. Wir erzeugen jetzt erst noch die abgeleitete Klasse SigCreate.

Im Automake Manager, in 'sigcreate (program in bin), klicke mit der rechten Maustaste auf sigcreatedlg.ui und wähle 'Subclass Widget...' im Kontextmenü. Dann fülle den Subclass Namen mit sigcreatedlg.ui (das ist der Name der von SigCreateDlg abgeleiteten Klasse) und wähle 'Subclass' und dann klick auf 'Ok'. Bei der Frage nach dem hinzufügen der Dateien zum CVS wähle 'No', da wir ja für unser Projekt kein CVS verwenden.

Anmerkung

Du kannst nun sehen, dass der Slot, den wir im Qt Designer erstellt haben aufgelistet und markiert ist. Diese Memberfunktion wird dadurch automatisch in die erzeugten Dateien eingefügt. Wenn Du die Markierung entfernst, wird der Quelltext in Deiner Klasse nicht erzeugt.


Der Unterklassen-Dialog
Abbildung 21: Der Unterklassen-Dialog

Wir müssen noch ein paar Programmzeilen in der Datei main.cpp da die 'KDE simple project' Vorlage auf ein KMainWindow verweist, welches normalerweise als Hauptfenster verwendet wird. Bei uns ist die abgeleitete Klasse SigCreate das Hauptfenster, welches von QWidget abgeleitet ist. Du must also alle Zeilen zwischen KApplication app; und return app.exec(); entfernen, abgesehen von den folgenden:

    SigCreate *mainWin = 0;

    mainWin = new SigCreate();
    app.setMainWidget( mainWin );
    mainWin->show();