GTK/ Vorwort
Aus Wikibooks
Dieses Buch soll dir die Oberflächenerstellung mit dem freien und portablen Toolkit GTK etwas näher bringen. Wir fangen an mit einigen, einfachen Beispielprogrammen, die erste Erfolgserlebnisse liefern sollen, danach gehen wir weiter zu komplexeren Beispielen. Zusätzlich dazu werden Übungsaufgaben mit Lösungen gestellt.
Inhaltsverzeichnis |
[Bearbeiten] Was ist GTK?
Aber was ist eigentlich GTK? GTK steht für Gimp ToolKit und wird deshalb so genannt, weil es ursprünglich als ein Ersatz für die Oberflächenbibliothek Motif gedacht war. Aus diesem Grund ist auch GTK eine Bibliothek, die benutzt werden kann, um schnell einheitliche Benutzeroberflächen zu erstellen, und zwar plattformübergreifend.
[Bearbeiten] Programmiersprachen
Da GTK eine Bibliothek ist, lässt es sich in praktisch allen Programmiersprachen einsetzen, vorausgesetzt, es sind so genannte Wrapper vorhanden. Dies bedeutet, dass eine Bibliothek in einer anderen Programmiersprache so verwendet werden kann, wie man es von der Programmiersprache gewohnt ist.
GTK selbst ist in C geschrieben, und kann daher in C und in C++ (fast) ohne weiteres verwendet werden. Aus diesem Grunde wird in diesem Buch für die Beispiele C++ verwendet.
[Bearbeiten] Was ist GLib?
GLib ist auch eine Bibliothek, die komplexe Aufgaben wie Listenverwaltung oder vereinfachten Dateizugriff auf eine einfache Art und Weise zur Verfügung stellt. GLib wird insbesondere vom Gtk benutzt, kann aber auch in das eigene Programm eingebunden werden.
Da diese beiden Bibliotheken ziemlich stark miteinander verwandt wird, wird GLib in diesem Buch ansatzweise angerissen - insbesondere in den Beispielen. Dort findest du dann auch schon mal Beispiele, die Zeilen aus einer Datei einlesen und diese in einem Fenster ausgeben.
[Bearbeiten] Was ist GDK?
GDK ist das, was GTK erlaubt, unter beliebigen Betriebssystemen zu laufen. GDK stellt die Verbindung zwischen dem Betriebssystem und GTK her. Am Einfachsten kann man sich das an einem Beispiel klarmachen: Jedes Betriebssystem hat eigene Funktionen, um neue Fenster zu erzeugen (unter X: XCreateWindow, unter Windows: CreateWindow). Wenn GTK nun ein neues Fenster erzeugen soll, dann weist es GDK an, das Fenster zu erzeugen, wie es das Betriebssystem erfordert.
GDK bietet daneben auch Funktionen für einfaches Drag'n'Drop an. Die verwandte Bibliothek GDK-Pixbuf ist dafür zuständig, Bilddaten im Speicher zu halten oder in Fenster zu zeichnen.
[Bearbeiten] Besonderheiten von GTK
Da GTK in C geschrieben ist, basiert es nicht auf Klassen. Stattdessen werden mit Umwandlungsfunktionen die Datentypen so verändert, dass der Compiler den Code schluckt. Solche Funktionen heißen GTK_CONTAINER oder GTK_WINDOW. Üblicherweise deklariert man neue Widgets als Zeiger auf GtkWidget, und man übergibt sie anderen Funktionen mit eben genannten Umwandlern.
[Bearbeiten] Weblinks
Für weiter fortgeschrittene Programmierer, die das Letzte aus GTK herauskitzeln wollen, empfehlen sich die Referenzen zu genannten und verwandten Bibliotheken. Diese Referenzen bieten aber eher eine Liste aller Funktionen mit einer kurzen Beschreibung, was sie tun - besonders für Programmieranfänger ungeeignet. Trotzdem sind sie unerlässlich, wenn man größere Projekte plant.

