Ein Qt-Widget-Projekt im Qt-Creator
Willemers Informatik-Ecke

Installation

Linux

Die Installation des Qt-Creators wird unter Linux durch den folgenden Befehl erreicht:
apt install build-essential qt5-default
Um den Designer mit an Bord zu haben, wurde bei Qt4 noch das Paket qt4-designer installiert. Bei Qt5 ist dieser im Paket qttools5-dev-tools eingebunden.
apt install qttools5-dev-tools
Nach der Installation befindet sich die Qt-IDE im Linux-Anwendungsmenü unter dem Eintrag Entwicklung.

Windows/Mac

Auf der Downloadseite von qt.io kann eine Version gekauft oder getestet werden. Daneben stehen Installationsprogramme für die Open-Source-Variante eines zum Download bereit.

Start der Entwicklungsumgebung

Im Linux-Menü Anwendungen-Entwicklung startet man den Qt-Creator. Nach dessen Start erscheint ein Fenster, in dem auf der linken Seite mehrere Buttons erscheinen. Wird Projekte angeklickt erscheint auf der rechten Seite die Liste der zuletzt bearbeiteten Projekte. Mit dem Button Projekt öffnen lässt sich ein Qt-Projekt per Dateiauswahlbox öffnen.

Mit dem Button Neues Projekt erstellen Sie ein neues Projekt.

Neues Projekt für Qt-Widgets-Anwendung

Starten des Projekts

Durch Klick auf das grüne, nach rechts deutende Dreieck wird das Projekt gestartet und es erscheint ein Fenster mit der Überschrift MainWindow. Es reagiert auf die Schließbox, indem es endet.

Der Klick auf das grüne, nach rechts deutende Dreieck mit dem Käfer startet den Debugger.

Der Hammer bewirkt den Abbruch, wenn eine Anwendung nicht mehr reagiert oder nicht enden will.

Projekte

In der linken Spalte ist die Projektleiste. Dort findet man

Designer

Wir erstellen eine Beispielanwendung zur Berechnung des BMI. Im Designer wird das Hauptfenster zusammengeklickt.

Der Designer ist in mehrere Fenster aufgeteilt.

Unter Display Widgets finden Sie ein Label. Davon können Sie vier auf dem Fenster verteilen. Drei dienen der Beschriftung (Größe, Gewicht, BMI) und eines soll das Ergebnis aufnehmen. Dort setzen wir eine 0 ein.

Da es das vierte ist, erhält es vom Designer den Namen label_4. Das ändern wir in lblBmi unter Objekt auf der rechten Seite.

Unter Input Widgets gibt es ein Line Edit. Das ziehen Sie rechts neben das Größe-Label, lassen es fallen und ändern den Namen auf edGroesse. Das wiederholen Sie für das Gewicht und nennen dieses edGewicht.

Unter Buttons finden Sie einen Push Button. Sie schieben ihn auf das Fenster und nennen ihn btBmi.

Nach dem Start hat das Fenster die Elemente, aber der Button bewirkt nichts.

Klick-Event abfangen

In der Objektliste klicken Sie den Button btBmi mit der rechten Maustaste an. Im Menü finden Sie Slot anzeigen.... Wenn Sie dieses auswählen, erscheint ein Dialog mit den möglichen Aktionsslots des Buttons. Wählen Sie clicked() und bestätigen Sie mit OK.

Mit einem Mal landen Sie im Quellcode des Hauptfensters und die Methode on_btBmi_clicked wurde angelegt. In der Header-Datei finden Sie einen Eintrag für private_slots und hier wurde die Methode deklariert.

Die Methode wird bei jedem Klick aktiviert. Sie soll den BMI aus den beiden Eingabefelder errechnen und in den Label stellen.

void MainWindow::on_btBmi_clicked()
{
    int groesse = ui->edGroesse->text().toInt();
    int gewicht = ui->edGewicht->text().toInt();
    double bmi = gewicht / (groesse*groesse / 10000.0);
    QString str = QString("%1").arg(bmi);
    ui->lblBmi->setText(str);
}
Über den Zeiger ui kann die Methode auf alle im Designer definierten Widgets zugreifen. Die Line Edits geben ihren Inhalt über die Methode text heraus. Das Ergebnis ist vom Typ QString. Dessen Methode toInt wandelt die Zeichenkette in eine Zahl.

Nun wird die BMI-Funktion auf die beiden Werte angewandt. Das Ergebnis ist eine Fließkommazahl. Die muss in das Label, das über seine Methode setText aber nur einen QString haben will. Das erledigen wir über eine Umwandlung der Methode arg.