November 28, 2018


PyGTK is a set of wrappers written in Python and C for GTK + GUI library. It is part of the GNOME project. It offers comprehensive tools for building desktop applications in Python. Python bindings for other popular GUI libraries are also available.

PyQt is a Python port of QT library. Our PyQt tutorial can be found here. Similarly, wxPython toolkit is Python binding for wxWidgets, another popular cross-platform GUI library. Our wxPython tutorial is available here.

GTK+, or the GIMP Toolkit, is a multi-platform toolkit for creating graphical user interfaces. Offering a complete set of widgets, GTK+ is suitable for projects ranging from small one-off tools to complete application suites.

GTK+ has been designed from the ground up to support a wide range of languages. PyGTK is a Python wrapper for GTK+.

GTK+ is built around the following four libraries −

  • Glib − A low-level core library that forms the basis of GTK+. It provides data structure handling for C.
  • Pango − A library for layout and rendering of text with an emphasis on internationalization.
  • Cairo − A library for 2D graphics with support for multiple output devices (including the X Window System, Win32)
  • ATK − A library for a set of interfaces providing accessibility tools such as screen readers, magnifiers, and alternative input devices.

Your GTK

PyGTK eases the process and helps you create programs with a graphical user interface using the Python programming language. The underlying GTK+ library provides all kinds of visual elements and utilities for it to develop full-featured applications for the GNOME Desktop. PyGTK is a cross-platform library. It is a free software distributed under the LGPL license.

PyGTK is built around GTK + 2.x. In order to build applications for GTK +3, PyGObject bindings are also available.