- Qt-Werkzeugkasten
- Qt-Mini-Programm
- Ein Qt-Widget-Projekt im Qt-Creator
- Qt-Widgets
- Grafik in Qt
- Qt und die Datenbanken
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.- build-essential: Dieses Paket enthält eine allgemeine Entwicklungsumgebung.
- qt5-default: Danach steht die Qt-Umgebung inklusive qmake zur Verfügung.
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 -projectEs 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 += widgetsNun kann der Befehl qmake zum Übersetzen des Projekts gegeben werden.
qmakeEs entsteht eine Datei Makefile. Diese kann anschließend mit dem Befehl make ausgeführt werden.
makeNun 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(); }; #endifDie 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 makeDaraufhin 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.