Tutorial
Gtk - Einführung
von Stueber | Seite 1 von 1 |
Dieses Tutorial ist für Anfänger gedacht, die gerne von der Konsole auf echte Oberflächen umsteigen möchten. Du solltest dich schon mit Variablen, Abfragen, Schleifen und Subs auskennen und zumindest wissen was Zeiger sind.
Was ist Gtk?
Gtk steht für Gimp Tool Kit. Gtk wurde ursprünglich für das Grafikprogramm Gimp geschrieben, wird heute aber von vielen Programmen verwendet.
Mit Gtk kann mit wenig Aufwand eine GUI (Graphical User Interface) erstellt werden.
Warum sollte ich Gtk benutzen?
Gtk bringt eine Menge Vorteile im Vergleich zu anderen Möglichkeiten, eine Oberfläche zu gestalten. Das Management von Signalen wird einem abgenommen (mehr dazu später) und die Programme bleiben plattformunabhängig. Das bedeutet in diesem Fall, dass die Programme auch auf Linux verwendbar sind.
Wie geht es los?
Die nötigen Header sind bereits bei FreeBASIC dabei, aber um die Programme testen zu können, musst du dir das Gtk SDK herunterladen (Download, weitere Informationen hier).
Die darin enthaltenen .dll's müssen in den Ordner deines Programms gelegt werden.
Jetzt musst du nur eine neue Datei in deiner IDE anlegen (Empfehlung: FBIde, kann hier im Download-Bereich bezogen werden).
Erste Schritte mit Gtk
Um Gtk verwenden zu können musst du nur folgende Zeile ganz oben in deinem Quelltext verwenden:
#include once "gtk/gtk.bi"
Damit werden alle Gtk Funktionen und Subs deinem Programm bekannt gemacht.
Der nächste Schritt ist das Initialisieren (Starten) von Gtk. Dazu muss folgende Zeile aufgerufen werden:
gtk_init (0, 0)
Damit wird Gtk bereit zur Verwendung gemacht.
Die letzte Zeile nach allem Gtk-Code, der jetzt noch folgt muss die folgende sein:
gtk_main()
Dieses Sub wartet auf Eingaben des Benutzers und informiert dein Programm dann darüber (mehr dazu später).
Ein einfaches Fenster
In Gtk werden alle Steuerelemente wie Fenster, Buttons, Checkboxen über einen eigenen Datentyp verwendet. Wenn du eine Variable für ein Fenster haben möchtest, sieht das dann so aus:
dim as GtkWidget ptr win
Das Deklarieren funktioniert genauso wie beispielsweise bei einem Integer, nur eben mit dem Datentyp GtkWidget ptr.
Nur durch das Erstellen bekommen wir aber noch lange kein Fenster auf den Bildschirm; dafür werden noch zwei weitere Zeilen benötigt.
Das Fenster muss erst erstellt werden. Das geht so:
win = gtk_window_new (GTK_WINDOW_TOPLEVEL)
Die Funktion gtk_window_new erzeugt ein neues Fenster und die Konstante, die übergeben wird, muss dich jetzt noch nicht interessieren.
GTK-Fenster
Jetzt hast du ein Fenster erstellt, aber wenn du dein Programm kompilierst, wirst du noch nichts sehen. Das Fenster muss erst noch gezeigt werden, was wie folgt funktioniert:
gtk_widget_show (win)
So wird das Fenster sichtbar gemacht.
Wenn du alles richtig gemacht hast, wirst du jetzt ein leeres Fenster sehen (siehe Abbildung rechts).
Gesamter Quelltext
#include once "gtk/gtk.bi"
gtk_init (0, 0)
dim as GtkWidget ptr win = gtk_window_new (GTK_WINDOW_TOPLEVEL)
gtk_widget_show (win)
gtk_main()
Probleme
Problem: Das Kompilieren schlägt fehl.
Lösung: Installiere die neueste Version von FreeBASIC.
Problem: Das Programm kompiliert zwar, aber ich kann es nicht starten.
Lösung: Im Gtk SDK befinden sich im Unterordner "bin\" viele .dll Dateien. Diese müssen in den Ordner deines Programms kopiert werden.
Fortsetzung
Es ist bereits ein zweites GTK-Tutorial online, das auf diesem Einstiegs-How-To aufbaut. Es befasst sich mit Buttons und Boxen.
Zusätzliche Informationen und Funktionen | |||||||
---|---|---|---|---|---|---|---|
|