Schöne neue Welt

Grafische Oberflächen mit QT

01.05.2006
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
 

Ähnliche Artikel

  • 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.
  • 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.
  • Xnview
    Die Vielfalt an spezialisierten Programmen verwirrt den Anwender oft mehr, als ihm zu helfen. Xnview vereint die wichtigsten Funktionen zum Anzeigen und Bearbeiten von Bildern.
  • 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.
  • Wavelet-basierte digitale Wasserzeichen
    Einfache digitale Wasserzeichen lassen sich sehr leicht aus Dateien entfernen. Wollen Sie Bilder dauerhaft manipulationssicher markieren, müssen Sie zu ausgefeilteren Algorithmen greifen.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

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

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

WLAN-Signalqualität vom Treiber abhängig
GoaSkin , 29.10.2014 14:16, 0 Antworten
Hallo, für einen WLAN-Stick mit Ralink 2870 Chipsatz gibt es einen Treiber von Ralink sowie (m...
Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...