|Original author(s)||James Henstridge|
|Developer(s)||PyGTK Core development team|
|Stable release||2.24.0  / 1 April 2011|
PyGTK is a set of Python wrappers for the GTK+ graphical user interface library. PyGTK is free software and licensed under the LGPL. It is analogous to PyQt/PySide and wxPython, the Python wrappers for Qt and wxWidgets, respectively. Its original author is the prominent GNOME developer James Henstridge. Today there are six people in the core development team, with various other people who have submitted patches and bug reports. PyGTK has been selected as the environment of choice for applications running on the One Laptop Per Child systems. Developers and interested parties can usually be found on the IRC channel #pygtk on irc.gnome.org.
PyGTK will be phased out with the transition to GTK+ version 3 and be replaced with PyGObject, which uses GObject Introspection to generate bindings for Python and other languages on the fly. This is expected to eliminate the delay between GTK updates and corresponding language binding updates, as well as reduce maintenance burden on the developers.
The python code below will produce a 200x200 pixel window with the words "Hello World" inside.
import gtk def create_window(): window = gtk.Window() window.set_default_size(200, 200) window.connect('destroy', gtk.main_quit) label = gtk.Label('Hello World') window.add(label) label.show() window.show() create_window() gtk.main()
Notable applications that use PyGTK
PyGTK has been used in a number of notable applications, some examples:
- Anaconda installer
- Ex Falso
- Gedit (for optional Python subsystem and plugins)
- GIMP (for optional Python scripts)
- GNOME Sudoku
- Gwibber (microblogging client)
- Quod Libet
- ROX Desktop (includes ROX-Filer)
- Ubiquity (Ubuntu installer)
- Ubuntu Software Center
- Wing IDE
A good introduction into PyGObject is not found in the GNOME wiki but here:
- a Wikipedia article for PyGObject still does not exist...
- PyGObject was introduce with GTK+ 2.8 9 January 2006, Python bindings for GLib/GObject/GIO/GTK+
- PyGObject tutorial
- PyQt (Python wrapper for the Qt toolkit)
- PySide (Alternative Python wrapper for the Qt toolkit)
- wxPython (Python wrapper for the wx widgets collection)
- PyGTK Homepage
- PyGTK FAQ
- PyGTK Tutorial
- PyGTK Notebook A Journey Through Python Gnome Technologies by Peter Gill
- PyGTK at Python wiki
- PyGObject Homepage