Grafische Oberflächen mit QT

Schöne neue Welt

Grafische Oberflächen (GUIs) für KDE programmieren: Das klingt anstrengender, als es tatsächlich ist. Mit Qt entwickeln Sie auf einfache Weise einen Bildbetrachter – wir zeigen, wie es geht.

Windows-Umsteigern fällt der Schritt auf die Konsole häufig schwer, sie vermissen die gewohnten grafischen Oberflächen. Unter Linux verzichten indes viele interessante Anwendungen auf eine GUI. Dabei fällt es nicht schwer, ein grafisches Bedien-Interface zu entwickeln. Das hier besprochene Beispiel eines Bildbetrachters ist in Qt programmiert: Die Firma Trolltech entwickelte die Sprache in den 90er Jahren und stellte sie 2000 unter die GPL. Qt arbeitet plattformübergreifend und basiert im wesentlichen auf C++. Der Artikel setzt daher Grundkenntnisse von C++ und Objektorientierung voraus. Es gibt zahlreiche Einführungen im Netz [1] sowie empfehlenswerte Bücher, die auch blutigen Anfängern [2] die Zusammenhänge anschaulich erklären. Den Quellcode für das Beispiel finden Sie auf unserer Web-Seite [3], die GPL-Version von Qt in der Version 4.1.1 gibt es unter [4].

Qt installieren und einrichten

Vermutlich müssen Sie die aktuelle Version von Qt auf Ihrem Rechner installieren – wenn überhaupt, finden Sie dort die Version 3. Übersetzen Sie Qt-4.1.1 am besten aus dem Quellcode. Debianer haben Glück: Sie holen das aktuelle Qt über Synaptic oder Apt einfach aus dem Repository Unstable und passen nur die Pfade auf die unten beschriebene Weise an.

Sie kopieren den Quellcode in ein beliebiges Verzeichnis und entpacken ihn über tar xvfz qt-x11-opensource-src-4.1.1.tar.gz. Dann wechseln Sie in das neu entstandene Unterverzeichnis und geben ./configure ein. Das prüft nun, ob alle von Qt optional genutzten Programme vorhanden sind. Abhängig von Ihrer Distribution sollten Sie zusätzliche Pakete installieren (siehe Kasten "Abhängigkeiten"), um möglichst viele Funktionen von Qt-4.1.1. zu nutzen.

Abhängigkeiten

Konfigurieren Sie Qt, so verrät am Ende eine Liste, auf welche installierten Programme Qt zurückgreift – neben diesen steht dann ein yes (Abbildung 1). Lesen Sie hingegen neben Gif support ein no, installieren Sie die entsprechenden Header-Dateien nach. Unter Debian wäre das zum Beispiel die libungif4-dev. Über den Befehl make confclean respektive gmake confclean (Suse 10.0) machen Sie die Konfiguration rückgängig und prüfen die Abhängigkeiten erneut.

Abbildung 1: Wollen Sie Qt optimal nutzen, sollte die Entwicklungsumgebung möglichst viele Features unterstützen. Der Aufruf ./configure verrät, auf welche Bibliotheken Qt zugreift.

Anschließend geben Sie ein beherztes make bzw. gmake (Suse 10.0) ein, um die Quellen zu übersetzen. Dieser Prozess zieht sich hin – langsame Rechner brauchen durchaus Stunden. Anschließend installieren Sie Qt, indem Sie im Root-Modus gmake install (Suse 10.0) oder make install eingeben.

Gewöhnlich landet Qt unter /usr/local/Trolltech/QT-4.1.1. Diesen Pfad bringen Sie dem System nun bei. Auch das Programm qmake muss im Pfad liegen, um damit Qt-Projekte zu übersetzen. Dazu ergänzen Sie die Datei .bashrc im Home-Verzeichnis:

QTDIR=/usr/local/Trolltech/Qt-4.1.1:$QTDIR
export QTDIR
PATH=/usr/local/Trolltech/Qt-4.1.1/bin:$PATH
export PATH

Starten Sie anschließend die Bash neu, tippen Sie env ein und prüfen Sie, ob die Werte für die Variablen $PATH und $QTDIR stimmen.

Programme kompilieren

Das hier vorgestellte Beispielprogramm liegt in einer ungekürzten Fassung auf der Qt-Dokumentationsseite [5]. Im Original skaliert der Bildbetrachter die Bilder noch zusätzlich. In der kurzen Version öffnet er ein Hauptfenster mit einem einzigen Menü, das die Punkte Open und Quit enthält.

Über Open öffnen Sie eine Grafik. Erkennt das Programm das Dateiformat nicht, kommt eine entsprechende Meldung. Um das Programm auszuprobieren, kompilieren Sie es zunächst. Es besteht aus drei einzelnen Dateien, wobei die Header-Datei imageviewer.h die Klassen, Methoden und Attribute enthält, während die Datei imageviewer.cpp die vom Hauptprogramm main.cpp benötigten Funktionen beinhaltet.

Geben Sie qmake -project ein, um aus dem Quellcode eine so genannte Projektdatei zu erzeugen. Der Schritt übersetzt die Teile des Quellcodes, die von Trolltech stammen, wie das Signal-Slot-Konzept. Anschließend geben Sie qmake ein, um ein Makefile zu generieren. Wie üblich kompiliert make das Programm. Die ausführbare Datei heißt so, wie der Ordner, in dem sie liegt, zum Beispiel bildbetrachter. Machen Sie das Programm über chmod u+x bildbetrachter ausführbar und rufen Sie es über ./bildbetrachter auf (Abbildung 2).

Abbildung 2: Der Bildbetrachter in Aktion: Die spartanische Oberfläche bietet Ihnen nur zwei Menüpunkte an. Mit einem öffnen Sie Bilder, mit dem anderen beenden Sie das Programm.

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 
TABLET & SMARTPHONE APPS
Bald erhältlich
Get it on Google Play

Deutschland

Ähnliche Artikel

  • Stark und schnell
    Wer schnell ist, verfügt nicht unbedingt über nennenswerte Stärke. Beim Bildbetrachter Qiv verhält sich das anders: Er legt ein rasantes Arbeitstempo vor und punktet zusätzlich mit starken Funktionen. Wir haben uns den vitalen Viewer genauer angeschaut.
  • Adventskalender in C++
    Wieder einmal steht die Adventszeit völlig unerwartet vor der Tür. Doch zum Glück zaubern Gideon und ein wenig C++ schnell einen hübschen KDE-Adventskalender für Freunde, Verwandte und Bekannte, während man selbst ein wenig programmieren lernt.
  • PanoTools
    Urlaubszeit ist Reisezeit – nach den ersten Blicken auf die Fotos folgt jedoch oft die Enttäuschung. Das wunderschöne Alpenpanorama oder der umwerfende Ausblick von der Meeresklippe sieht auf den eigenen Bildern überhaupt nicht mehr so toll aus. Mit den PanoTools lassen sich Fotos digital nachbearbeiten, damit Sie auch zuhause noch einen Rundblick von der Klippe wagen können.
  • Fortgeschrittenes Basteln
    Plasmoiden erweitern den KDE-4-Desktop um sinnvolle Anwendungen. KDE-Entwickler Sebastian Kügler erklärt, wie Sie die kleinen Helfer programmieren.
  • Adventskalender mit C++ und Qt
    Es müssen nicht immer Schokoladefigürchen sein: Ein Bilderadventskalender lässt sich auch als GUI-Programm gestalten und eignet sich hervorragend zum Einstieg in die C++-Programmierung.
Kommentare

Infos zur Publikation

LU 09/2016: Ciao, Windows!

Digitale Ausgabe: Preis € 5,99
(inkl. 19% MwSt.)

LinuxUser erscheint monatlich und kostet 5,95 Euro (mit DVD 8,50 Euro). Weitere Infos zum Heft finden Sie auf der Homepage.

Das Jahresabo kostet ab 86,70 Euro. Details dazu finden Sie im Computec-Shop. Im Probeabo erhalten Sie zudem drei Ausgaben zum reduzierten Preis.

Bei Google Play finden Sie digitale Ausgaben für Tablet & Smartphone.

HINWEIS ZU PAYPAL: Die Zahlung ist ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!

Aktuelle Fragen

Scannen nicht möglich
Werner Hahn, 19.08.2016 22:33, 3 Antworten
Laptop DELL Latitude E6510 mit Ubuntu 16,04, Canon Pixma MG5450. Das Drucken funktioniert, Scann...
Wie kann man das berichtigen
Udo Muelle, 17.07.2016 20:39, 1 Antworten
Fehlschlag beim Holen von http://extra.linuxmint.com/dists/rosa/main/binary-i386/Packages Hash-S...
Installation Genimotion
Horst Müller, 15.07.2016 17:00, 1 Antworten
Hallo, ich kann Genimotion nicht installieren. Folgende Fehlermeldung habe ich beim Aufruf erh...
Probleme beim Hochfahren der Terastaion 5400 mit Unix-Distrib
Sheldon Cooper, 10.07.2016 09:32, 0 Antworten
Hallo ihr lieben, habe seit zwei Tagen das Problem, das das NAS (Raid5) nicht mehr sauber hoch...
Mit Firewire Videos improtieren?
Werner Hahn, 09.06.2016 11:06, 5 Antworten
Ich besitze den Camcorder Panasonic NV-GS330, bei dem die Videos in guter Qualität nur über den 4...