Programmfenster auf Mausklick
GUI-Programmierung mit Qt Designer
Auf dem Weg zum vollständigen Programm
Über den Dialog File / New lassen sich nicht nur weitere Dialoge und Wizards anlegen, sondern auch C++-Header- und Implementationsdateien ins Projekt einfügen. Während die Programmiererin bei "normalen" C++-Dateien auf die eigenen Programmierkenntnisse angewiesen bleibt, erzeugt das Template mit dem Namen C++ Main-File (main.cpp) (Abbildung 2) die Datei mit der main()-Hauptfunktion des Qt-Programms, das eines der im Projekt enthaltenen Widgets als Hauptfenster (Main-Form) benutzt (Abbildung 8).
Um das bislang erzeugte Programm-Gerüst zu kompilieren, erzeugt man zunächst im Projektverzeichnis das passende Makefile:
qmake -o Makefile projektdatei.pro
und kompiliert mit make. Doch nach diesem ersten Erfolgserlebnis gilt es meist noch, das neuerstellte GUI mit weiterer Funktionalität auszustatten. Spätestens dann heißt es, zum Texteditor der Wahl zu greifen.
Glossar
main()
Die Hauptfunktion eines C-, C++- oder Java-Programms. Bei GUI-Programmen zeichnet sie das Hauptfenster der Applikation auf den Bildschirm. Anders als bei nicht-grafischen Programmen, die mehr oder weniger linear abgearbeitet werden, ist das Programm damit aber nicht fertig – die eigentliche Arbeit beginnt erst, wenn der User dieses Fenster benutzt. Die main()-Funktion eines GUI-Programms startet daher eine sogenannte "Event-Loop" (Ereignisschleife). Erst wenn diese beendet wird, endet das gesamte Programm.
$
Vor den Namen einer Shell-Variablen gesetzt, sorgt das Dollarzeichen dafür, dass diese ihren Inhalt preisgibt.
Widget
Buttons, Fenster, Menüleisten u.a. Bestandteile einer grafischen Benutzeroberfläche.
Klassendeklaration
Will man Objekte einer Klasse erzeugen oder auf solche zugreifen, sollte man nicht die Klassen-Implementation durchlesen müssen. Stattdessen erstellt man innerhalb der C++-class-Anweisung ein "Application Programmer's Interface" (API), das beschreibt, welche Funktionen und Variablen die Klasse kennt, welche davon von anderen Drittobjekten aus zugänglich sind, welche Art Argumente die Klassenfunktionen annehmen etc. Der Kopf der class-Anweisung legt den Klassennamen fest und welche Klasse der Neuling ggf. beerbt. Diese Deklaration wird in der Regel in eine eigene "Header-Datei" ausgelagert.
Infos
[1] ftp://ftp.troll.no/pub/qt/source/
[3] http://qt-interest.trolltech.com/
[4] Patricia Jung: "Vorfreude, schönste Freude" (Adventskalender mit C++ und Qt), LinuxUser 12/2001, S. 85 ff.
[5] Qt-Tutorial (englisch): http://doc.trolltech.com/3.0/tutorial.html



