Zum Inhalt springen

PyGTK

aus Wikipedia, der freien Enzyklopädie
PyGTK

GTK-Logo
Basisdaten

Hauptentwickler James Henstridge
Aktuelle Version 2.24.0[1]
(1. April 2011)
Betriebssystem Windows, Unix, macOS
Programmier­sprache Python
Kategorie GUI-Toolkit
Lizenz LGPL (Freie Software)
deutschsprachig nein
www.pygtk.org
Screenshot eines mit PyGObject erstellten Python-Programmes mit Radio-Buttons. Der Python Quellcode steht auf Commons

PyGTK ist eine Ansammlung von Wrappern für die Programmiersprache Python zum Zugriff auf das GUI-Toolkit GTK+. PyGTK ist als freie Software unter der LGPL lizenziert. Entwickelt wurde PyGTK von dem Gnome-Programmierer James Henstridge.

Mit dem Übergang zu GTK+ 3.0 und Gnome 3.0 wird PyGTK durch dessen Nachfolger PyGObject ersetzt, welches sich GObject-Introspektion zu Nutze macht, um Anbindungen an Bibliotheken automatisch zu erzeugen. PyGObject ist im Gegensatz zu PyGTK auch mit Python 3 kompatibel.

Python-Wrapper um vergleichbare GUI-Toolkits sind PyQt für die Qt-Bibliothek und wxPython für wxWidgets.

PyGObject Beispielprogramm

[Bearbeiten | Quelltext bearbeiten]
# ein mit PyGObject erstelltes Python-Programmes, welches GTK benutzt
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk

# Die Klasse MeinFenster erbt von Gtk.Window
class MeinFenster(Gtk.Window):
    def __init__(self):
        Gtk.Window.__init__(self, title="Hello World App")
        self.set_size_request(300, 100)

        # Einen Button erzeugen und dem Fenster hinzufügen
        button = Gtk.Button(label="Klick hier")
        button.connect("clicked", self.on_button_clicked)
        self.add(button)

    def on_button_clicked(self, widget):
        # Ausgabe auf der Console bei Mauseklick auf den Button
        print("Hello, Wikipedia!")

# Initializierung
app = MeinFenster()
app.connect("destroy", Gtk.main_quit)  # Schließen
app.show_all()

# Die Hauptschleife der Anwendung wird durch den Aufruf von Gtk.main() gestartet.
# Diese Schleife wartet auf Ereignisse (wie Klicks) und aktualisiert die Anwendung entsprechend.
Gtk.main()

Einzelnachweise

[Bearbeiten | Quelltext bearbeiten]
  1. ftp.gnome.org.