Die Klassenbibliothek Qt für C++
Willemers Informatik-Ecke
Weitere Themen

Qt-Werkzeugkasten

Für die Entwicklung mit Qt wird neben der normalen Ausrüstung zur Erstellung von C++-Programmen noch das Programm qmake, make und der Qt-Designer zum Erstellen der Fenster benötigt. Wer noch keine IDE hat, kann Qt-Creator verwenden.

Linux-Installation

Für die Programmierung von Qt-Anwendungen unter Debian, Ubuntu oder Linux Mint benötigt man mindestens zwei Pakete aus dem Repository.

apt install build-essential qt5-default

Hello World

Als Beispiel dient ein kleines Fenster.
#include <QApplication>
#include <QWidget>

int main(int argc, char *argv[])
{
    // Initialisiere eine QApplication-Instanz
    QApplication app(argc, argv);
    QWidget fenster; // lege ein Fenster an ..
    fenster.show();  // ... und zeige es.
    // Starten der QApplication
    return app.exec();
}
Nun wird der Befehl zur Erzeugung eines Qt-Projekts eingegeben:
qmake -project
Es entsteht eine Projektdatei qt.pro. Hierin werden nacheinander alle Quelltexte und die Konfiguration eingetragen. Da wir Widgets verwenden, muss dies mit der folgenden Zeile eingetragen werden, ansonsten entsteht beim späteren Compilieren der Fehler, dass QApplication nicht gefunden wurde.
QT += widgets
Nun kann der Befehl qmake zum Übersetzen des Projekts gegeben werden.
qmake
Es entsteht eine Datei Makefile. Diese kann anschließend mit dem Befehl make ausgeführt werden.
make 
Nun ist eine ausführbare Datei namens qt entstanden. Sie kann von der Konsole aus gestartet werden.
./qt

Qt-Designer

Der Qt-Designer erstellt die Oberfläche eines Fensters durch Zusammenklicken der Elemente.

Das Ergebnis der Bemühungen wird in einer Datei mit der Endung .ui abgespeichert. Dabei handelt es sich um eine XML-Datei. Aus ihr wird dann der passende Source-Code für die Fensterklasse generiert werden.

Qt-Creator

Der Qt-Creator stellt eine klassische IDE dar, die einen Editor zur Verfügung stellt und darüber hinaus auch die Aufgaben wie den Build-Prozess oder das Debuggen anstößt.

Qt-Mini-Programm

Das Hauptprogramm einer Qt-Anwendung erzeugt ein Objekt der Klasse QApplication mit den übergebenen Parametern und führt diese über deren Funktion exec() aus.

#include "personenfenster.h"
#include <QApplication>

int main(int argc, char**argv)
{
    QApplication a(argc, argv);
    PersonenFenster fenster;
    fenster.show();
    return a.exec();
}

Wenn die Anwendung ein Fenster besitzt, wird dies durch den Qt-Designer angelegt und durch eine eigene Klasse verwaltet. Die Datei personenfenster.h:

#ifndef PERSONENFENSTER_H
#define PERSONENFENSTER_H

#include "ui_personenfenster.h"

class PersonenFenster : public QMainWindow, public Ui::MainWindow
{
    Q_OBJECT

    public:
        PersonenFenster(QMainWindow *parent = 0);
        ~PersonenFenster();
};

#endif
Die Datei personenfenster.cpp
#include "personenfenster.h"

PersonenFenster::PersonenFenster(QMainWindow *parent)
{
    setupUi(this);
}

PersonenFenster::~PersonenFenster()
{
}
Mit dem Qt Designer wird nun ein Dialog erstellt, der als personenfenster.gui gespeichert wird.

qmake -project
qmake
make
Daraufhin sind einige Dateien entstanden, unter ihnen auch ui_personenfenster.h, das ja von personenfenster.h eingebunden wird. Daneben entstand auch das für den make erforderliche Makefile. Zuletzt aber auch eine ausführbare Datei, die nach dem Aufruf das Fenster darstellt, das im Qt Designer erstellt wurde.