Qt-Programmierung Teil 2
Das Hauptprogramm
kompletter Quellcode der Programmbeispiele
Im Hauptprogramm hat sich nicht besonders viel geändert.
1 #include <qapplication.h> // QApplication |
Listing 1: main.cpp |
CHelloWorld: Header
Der Header kann fast direkt von CHelloWorldWindow übernommen werden, wie er vom uic generiert wird. Die einzige Anpassung ist, dass der in der Klasse CHelloWorldWindow noch virtuelle Slot public slot showGreeting()
hier implementiert wird und nicht mehr virtuell ist.
Sobald man in einer Klasse ein Signal oder Slot definiert, muss auch das Makro Q_OBJECT angegeben werden, damit das ganze noch korrekt durch den Qt MetaObjectCompiler (moc) bearbeitet wird (dies geschieht automatisch durch das von TMake generierte Makefile).
1 #ifndef CHELLOWORLD_H |
Listing 2: chelloworld.h |
CHelloWorld: Implementierung
Bei der Implementierung der abgeleiteten Klasse beschränken sich die Arbeiten auf die Funktion showGreeting()
.
War die Slot-Funktion showGreeting()
in der Vaterklasse CHelloWorldWindow noch virtuell, so wird sie hier endlich implementiert. Diese Slot-Funktion soll, wenn der QPushButton gedrückt wird, eine Begrüßung in einer MessageBox ausgeben. Für die MessageBox ist der Header qmessagebox.h notwendig.