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

title_2016_06

Digitale Ausgabe: Preis € 5,99
(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!       

Aktuelle Fragen

Welche Drucker sind Linux-mint kompatibel?
Johannes Nacke, 20.05.2016 07:32, 4 Antworten
Hallo Ihr Lieben, ich bitte um mitteilung welche Drucker Kompatibel sind mit Linux-Mint. LG Joh...
MS LifeCam HD-5000 an Debian
Kay Michael, 13.04.2016 22:55, 0 Antworten
Hallo, ich versuche die oben erwähnte Cam an einem Thin Client mit Debian zu betreiben. Linux...
Import von Evolution nach KMail erzeugt nur leere Ordner
Klaus-Christian Falkner, 06.04.2016 12:57, 3 Antworten
Hallo, da ich vor einiger Zeit von Ubuntu auf Kubuntu umgestiegen bin, würde ich gerne meine E...
Sophos lässt sich nicht unter Lubuntu installieren
Chrstina Turm, 30.03.2016 20:56, 3 Antworten
Hi Leute, habe mir vor paar Tagen auf ein Notebook, das ohne Linux ausgedient hätte, Linux dr...
Novell Client auf Raspbian
Chris Baum, 16.03.2016 15:13, 3 Antworten
Hallo Community, ich hätte eine Frage, und zwar geht es um folgendes: Ich möchte eine Datei...