GTK+

Aus Tuxfutter

(Weitergeleitet von GTK)
Wechseln zu: Navigation, Suche
GTK+
Logo Bild:gtk-logo-rgb.gif
Hersteller / Programmierer



Grundinformationen
Lizenz: GNU LGPL (Freie Software)
Unterstützte Plattformen: Unix-ähnliche (GNU/Linux, BSD, Mac OS X), Windows, OpenVMS
Webpräsenz / Download: gtk.org
Aktuelle Version: 2.8.2
Alternativen
Freie Software Qt, FlTK
Proprietäre Software OSF/Motif

Bei The GIMP Toolkit (GTK+), dem GIMP-Toolkit, handelt es sich um eine freie Bibliothek, die verschiedenste visuelle Komponenten (Ähnlich den Microsoft Foundation Classes für Win32), sogenannte Widgets, für die Linux-Plattform bereitstellt.

Es existieren zwei wesentlich unterschiedliche Versionen von GTK, der aktuelle Zweig der GTK+-2.x-Versionen sowie die älteren Ableger der GTK+-1.2-Hierarchie. Einige Anwendungen erfordern immer noch GTK+-1.2, jedoch ist abzusehen, dass diese bald von der Bildfläche verschwindet.

GTK baut auf den folgenden Bibliotheken auf:

  • GLib - Diese stellt diverse Methoden zum Umgang mit verschiedenen Datenstrukturen für GTK und GNOME zur Verfügung; im Englischen gern auch core library genannt.
  • Pango stellt viele Möglichkeiten zum Rendern von Text bereit.
  • Cairo ist eine Bibliothek für Vektorgrafikdarstellungen, die für die konkrete Darstellung der einzelnen Bedienelemente zuständig ist.
  • Die ATK-Bibliothek ermöglicht die Integration standardisierter Schnittstellen für eine Anwendung, so z.B. die Zugangsmöglichkeit für einen Screen Reader oder auch alternative Eingabegeräte.

Für die Realisierung von GTK-Oberflächen sind beim Erzeugen von GTK-Objekten (den Widgets) in aller Regel zuerst sogenannte Container-Objekte zu generieren, die dann ihrerseits einzelne Steuerelemente wie Radio-Buttons, Checkboxes usw. aufnehmen. Unmittelbar nach dem Erzeugen müssen den Objekten sogenannte Callback-Routinen zugewiesen werden. Beim Auslösen eines Ereignisses an einem solchen Element (z.B. Überfahren mit der Maus, Anklicken usw.) wird dann diese Routine ausgeführt. Sie bekommt als Parameter das Steuerobjekt selbst übergeben (um eventuell notwendige Modifikationen an diesem vornehmen zu können, beispielsweise Farbänderungen o.ä.) sowie einen Zeiger auf einen Datenbereich, in dem bspw. eigene Datenstrukturen abgelegt werden können.

Programmierung mit GTK ist von Hand recht mühsam, jedoch existieren einige recht gute Tools, die diese Aufgaben unterstützen. Dazu gehört beispielsweise Glade.

Mit ein Grund für die Mühseligkeit ist, dass die Programmierung in C erfolgt. Besonders für Buttons müssen daher so genannte Callback-Funktionen erstellt werden (übertroffen wird die Programmierung von grafischen Programmen übrigens, wenn man mit OSF/Motif programmiert).
Wesentlich einfacher zu programmieren ist mit Hilfe von GTK--, einer objektorientierten Variante der GTK-Bibliotheken für C++.

[Bearbeiten] Externe Verweise

'Persönliche Werkzeuge