Home / LinuxUser / 2002 / 02 / GUI-Programme erstellen mit Glade

Newsletter abonnieren

Lies uns auf...

Folge LinuxCommunity auf Twitter

Top-Beiträge

War doch klar...
(233 Punkte bei 16 Stimmen)
Re: War doch klar...
(162 Punkte bei 6 Stimmen)
Re: Skype für 64-Bit-Prozessor u. Suse 12.1
(161 Punkte bei 4 Stimmen)
Kubuntu verliert Finanzierung
(130 Punkte bei 4 Stimmen)
Offen fürs Geschäft
(80 Punkte bei 4 Stimmen)

Heftarchiv

LinuxUser Heftarchiv

EasyLinux Heftarchiv

Ubuntu User Heftarchiv

Ubuntu User Heftarchiv

Partner-Links:

Shopping
Topsuche
 
Yatego Deutschlands größte Shoppingmall. 10000 Shops,
3.5 Mio Artikel. Alle Bestseller, Servertechnik und Technik Themenwelten.

Notebooks und Netzwerkhardware bei Mercateo günstig kaufen.
Internet Telefonie mit VoIP Telefonen von Gigaset
Das B2B Portal www.Linx.de informiert über Produkte und Dienstleistungen.
Günstige Digitalkameras finden Sie im Preisvergleich.

Lichtung im GTK-Wald

GUI-Programme erstellen mit Glade

01.02.2002 Die Entwicklung auf GTK+ basierender, grafischer Benutzeroberflächen – ein schwieriges, umständliches Unterfangen? Der GUI-Builder Glade widerlegt solche Behauptungen.

Kaum hat man seine erste Programmierstunde absolviert und in der Welt der Schleifen und Funktionen Fuß gefasst, beginnen einen neue Fragen zu quälen: "Wie werden beispielsweise diese schönen, bunten Applikationen entwickelt?" Sogleich erfährt man, dass Ansätze wie OO-Entwicklung zur Tagesordnung in diesem Gebiet gehören. Beängstigt betritt man das neue Terrain und vernimmt zunächst, was ein API ("Application Programmers' Interface") ist: Eine Sammlung von Klassen in Form von Bibliotheken, mit denen man endlich anfangen kann, grafische Bedieneroberfläche zu entwickeln… Muss dies alles so kompliziert sein?

Wichtige Konzepte

Nicht unbedingt. Vor allem aber muss man nicht alles auf einmal lernen, um die ersten Schritte bei der Programmierung grafischer Benutzerschnittstellen zu gehen. Manche Kenntnisse sind allerdings unerlässlich zum richtigen Programmentwickeln, zum Beispiel das Verständnis von Konzepten wie Objekt, Klasse, Signal, Ereignis etc. Anderes – etwa die Kenntnisse der API-Funktionen – kann man sich aber anhand von Beispielen im Verlauf der Entwicklung aneignen.

Die Strukturen in einer Bedienoberfläche werden als Objekte behandelt, also als Gruppierung von Daten und speziellen Funktionen (in der Welt der objektorientierten Programmierung Methoden genannt) zu einer individuellen, identifizierbaren, logischen Einheit. Solche Einheiten (etwa die Knöpfe eines Fensters) können wiederholt verwendet werden, und obwohl sie normalerweise über die gleichen Methoden verfügen, wirken sie auf unterschiedliche Datenbestände. Das erklärt zum Beispiel, warum beim Anklicken (Methode) eines Knopfes verschiedene Aufgaben (Datenverkehr) erledigt werden können.

Der Aufbau eines Objekts wird in einer Klasse beschrieben. Deswegen kann man sagen, dass Klassen als Schablonen für Objekte dienen. Neue Klassen können auf bereits vorhandenen aufbauen und so erweitert werden, dass sie neue Aufgaben bewältigen.

Um ein Programm zu befähigen, auf vom Benutzer hervorgerufene Ereignisse entsprechend zu reagieren, werden in der GUI-Programmierung Signale verwendet. Sie kommen zum Zuge, wenn ein Mausknopf gedrückt, ein Fenster zugemacht oder Text getippt wird. Bei jedem Ereignis sendet das entsprechende Objekt je nach Typ und Klasse ein unverwechselbares Signal (das heißt, eine seiner Methoden wird aufgerufen). Es lässt sich von einem Signal-Handler regelrecht aufnehmen, wobei eine bestimmte Aufgabe erfüllt wird.

Das Gimp-Toolkit

Eine der bekanntesten Linux-APIs zur GUI-Entwicklung ist das Gimp-Toolkit GTK+. Es bildet eine Hierarchie von Objekten (hier Widgets genannt), die über die verschiedensten Signale verfügen. Es gibt Signale, die alle Widgets von ihren "Ausgangsklassen" erben (zum Beispiel destroy) und andere, Widget-spezifische (etwa das Signal toggled von den "Ein-/Aus-Schaltern"). Programme mit GTK+ zu entwickeln ist nicht schwierig, verlangt aber, dass man mit dessen Widgets und Methoden vertraut ist.

GTK+ benutzt eine sehr flexible Methode zur Positionierung der Widgets auf der Bedieneroberfläche: das Verpacken einzelner Widgets in Containern. Mit ihnen informiert man GTK+, an welcher Position ein Widget zu erscheinen hat, und bereitet Zellen vor, in denen andere Widgets platziert werden. Die wichtigsten Container sind Boxen und Tabellen.

Den Aufbau eines GUIs aus diesen Widgets und Containern in einem Text-Editor zu kodieren, erfordert tatsächlich einige Erfahrung. Einfacher geht es durch "visuelle Programmierung", bei der man das Interface einer Applikation nach dem WYSIWYG-Paradigma mit einem Minimum an Aufwand gestalten kann. Das entlastet den Programmierer, sodass sich dieser vornehmlich auf die Programmierung der Funktionalität konzentrieren kann.

Ein Tool, das GTK-Programmierer mit diesem "Rapid Application Development"-(RAD-)Ansatz unterstützt, ist Glade, zu Deutsch "Lichtung". Dieses Programm ist in der Lage, GUI-Code in verschiedenen Programmiersprachen zu erstellen (C, C++, Ada95, Eiffel, Perl und Python) und steht unter [1] zum Download bereit, sofern es nicht ohnehin mit der Distribution mitgeliefert wird. Ein Kompilat für Windows kann unter [2] bezogen werden.

Vorausgesetzt, dass GTK+ in der Version 1.2.0 (oder höher), autoconf in der Version 2.13 und automake in der Version 1.4 vorhanden sind, erfolgt die Installation von Glade aus dem Quellcode heraus ganz einfach mit den üblichen Kommandos: ./configure =Applikationsverzeichnis , make und make install. autoconf und automake sind auch notwendig, um mit Glade erstellte Projekte erfolgreich zu übersetzen. Falls GNOME-Unterstützung gewünscht wird, ist zudem eine aktuelle Version (höher als 1.0.50) der GNOME-Bibliotheken erforderlich.

Einem Freund empfehlen    Druckansicht Bookmark and Share
Kommentare

796 Hits
Wertung: 0 Punkte (0 Stimmen)

Schlecht Gut

Infos zur Publikation

Infos zur Publikation

LinuxUser 03/2012

Aktuelle Ausgabe kaufen:

Heft bestellen Heft als PDF kaufen

LinuxUser erscheint monatlich und kostet in der Nomedia-Ausgabe EUR 5,50 und mit DVD EUR 8,50. Weitere Informationen zum Heft finden Sie auf der LinuxUser-Homepage.

Im LinuxUser-Probeabo erhalten Sie drei Ausgaben für 3 Euro. Das Jahresabo (ab EUR 56,10) können Sie im LNM-Shop bestellen.

Tipp der Woche

Duden Korrektor unter 64-Bit
Duden Korrektor unter 64-Bit
Tim Schürmann, 06.02.2012 10:36, 0 Kommentare

Der Duden Korrektor bietet eine äußerst nützliche Rechtschreib- und Grammatikkorrektur für LibreOffice und bringt in der aktuellen Version 8 e...

Aktuelle Fragen

Ubuntu 11.10 Compiz 3D Cube flackern
Moritz Obenauer, 12.02.2012 12:25, 0 Antworten
Hallo! Ich habe Ubuntu 11.10 mit Unity und den Compiz 3D Cube ein gerichtet. Er funktioniert...
Suse 12.1 Bootvorgang bleibt seit Update stehen
Wimpy *, 12.02.2012 09:22, 2 Antworten
Seit Update auf Kernel 3.1.9-1.4-desktop i686 bleibt der Bootvorgang stehen. Es erscheint der gr...
N24 Stick (Huawei E173) und Ubuntu 11.04
Patrick Obenauer, 11.02.2012 11:54, 1 Antworten
Hallo zusammen! Ich benutze einen alten Laptop, der mit Ubuntu 11.04 flott und problemlos läuft....
Wie kann man beim Einsatz von Compiz die Fenster-Dekoration einstellen?
GoaSkin , 10.02.2012 20:12, 0 Antworten
Hallo, ich nutze Linux Mint mit dem Gnome-Derivat Mate. Da die Distribution Compiz nicht autom...
rndc reload zone - failed bad zone
Ludwig jun. B., 06.02.2012 16:08, 2 Antworten
Schönen guten Tag, ich habe folgendes Problem. Immer wenn ich folgendes Kommando ausführen bek...