Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
PyGTK
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|Set of Python wrappers for the GTK graphical user interface library}} {{Infobox software | name = PyGTK | title = | logo = <!-- [[File:]] --> | screenshot = PyGTK-Screenshot-Hello-World.png | caption = Screenshot | collapsible = | author = James Henstridge<ref>{{cite web | url = http://www.jamesh.id.au/ | title = Software I have written > PyGTK - Python bindings for GTK | publisher = James Henstridge's Homepage}}</ref> | developer = PyGTK Core development team<ref>{{cite web | url = http://pygtk.org/about.html | title = The people behind PyGTK}}</ref> | released = <!-- {{Start date|YYYY|MM|DD|df=yes/no}} --> | discontinued = yes | latest release version = 2.24.0<ref>{{cite web | url = http://ftp.gnome.org/pub/GNOME/sources/pygtk/ | title = PyGTK download page}}</ref> | latest release date = {{Start date and age|2011|04|01|df=yes/no}} | latest preview version = | latest preview date = <!-- {{Start date and age|YYYY|MM|DD|df=yes/no}} --> | programming language = [[Python (programming language)|Python]], [[C (programming language)|C]] | operating system = [[Cross-platform]] | platform = [[Cross-platform]] | size = | language = | genre = [[Widget toolkit]] | license = [[LGPL]] | website = {{URL|pygtk.org}} }} {{Main|List of language bindings for GTK}} '''PyGTK''' is a set of [[Python (programming language)|Python]] [[Adapter pattern|wrappers]] for the [[GTK]] [[graphical user interface]] [[library (computer science)|library]]. PyGTK is [[free software]] and licensed under the [[LGPL]]. It is analogous to [[PyQt]]/[[PySide]] and [[wxPython]], the Python wrappers for [[Qt (framework)|Qt]] and [[wxWidgets]], respectively. Its original author is [[GNOME]] developer James Henstridge. 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 [[One Laptop Per Child]] systems. PyGTK will be phased out with the transition to GTK version 3 and be replaced with PyGObject,<ref>{{cite web|url=https://wiki.gnome.org/PyGObject|title=PyGObject|publisher=wiki.gnome.org}}</ref><ref>{{cite web|url=https://www.openhub.net/p/pygobject|title=Black Duck Open Hub: PyGObject}}</ref> 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.<ref>{{cite web|url=http://live.gnome.org/action/recall/GObjectIntrospection?action=recall&rev=69|archive-url=https://archive.today/20120711012345/http://live.gnome.org/action/recall/GObjectIntrospection?action=recall&rev=69|url-status=dead|archive-date=2012-07-11|title=GObject Introspection}}</ref> ==Syntax== The Python code below will produce a 200x200 pixel window with the words "[["Hello, World!" program|Hello World]]" inside. <syntaxhighlight lang="python"> 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() </syntaxhighlight> ===Notable applications that have used PyGTK=== PyGTK has been used in a number of notable applications, some examples: {{div col}} * [[Anaconda installer]] * [[BitTorrent (software)|BitTorrent]] * [[Deluge (BitTorrent client)|Deluge]] * [[Emesene (software)|Emesene]] * [[Exaile]] * [[Flumotion]] * [[Gajim]] * [[gDesklets]] * [[Gedit]] (for optional Python subsystem and plugins) * [[GIMP]] (for optional Python scripts) * [[Sudoku|GNOME Sudoku]] * [[Gramps_(software)|Gramps]] * [[Gwibber]] (microblogging client) * [[Jokosher]] * [[puddletag]] * [[PyMusique]] * [[Pybliographer]] * [[Tryton]] * [[ROX Desktop]] (includes [[ROX-Filer]]) * [[SoundConverter (software)|SoundConverter]] * [[Ubiquity (software)|Ubiquity]] ([[Ubuntu (operating system)|Ubuntu]] installer) * [[Ubuntu Software Center]] * [[Wing IDE]] * Comix {{div col end}} ==PyGObject== {{Infobox software | name = GTK | title = PyGObject | logo = <!-- [[File:]] --> | screenshot = <!-- [[File:]] --> | caption = | collapsible = | author = | developer = | released = <!-- {{Start date|YYYY|MM|DD}} --> | latest release version = {{wikidata|property|preferred|references|edit|Q16948079|P348|P548=Q2804309}} | latest release date = {{Start date and age|{{wikidata|qualifier|preferred|single|Q16948079|P348|P548=Q2804309|P577}}|df=yes}} | repo = {{URL|{{wikidata|property|preferred|Q16948079|P1324}} }} | programming language = [[Python (programming language)|Python]], [[C (programming language)|C]] | size = | language = | genre = [[Widget toolkit]] | license = [[LGPL]] | website = {{URL|{{wikidata|property|preferred|Q16948079|P856}} }} }} PyGObject provides a wrapper for use in Python programs when accessing GObject libraries. [[GObject]] is an object system used by [[GTK]], [[GLib]], [[GIO (software)|GIO]], [[GStreamer]] and other libraries. Like the GObject library itself, PyGObject is licensed under the [[GNU Lesser General Public License|GNU LGPL]], so it is suitable for use in both free software and proprietary applications. It is already in use in many applications ranging from small single-purpose scripts to large full-featured applications. PyGObject can dynamically access any GObject libraries that use [[GObject Introspection]]. It replaces the need for separate modules such as PyGTK, GIO and python-gnome to build a full GNOME 3.0 application. Once new functionality is added to GObject library it is instantly available as a Python API without the need for intermediate Python glue. ===Notable applications that use PyGObject=== PyGObject has replaced PyGTK, but it has taken a considerable amount of time for many programs to be ported. Most of the software listed here has an older version which used PyGTK. {{div col}} * [[Gramps_(software)|Gramps]] * [[Meld (software)|Meld]] * [[Pitivi]] * [[PyChess]] * [[Quod Libet (software)|Quod Libet]] {{div col end}} ==See also== {{Portal|Free and open-source software}} * [[PyQt]] (Python wrapper for the Qt toolkit) * [[PySide]] (Alternative Python wrapper for the Qt toolkit) * [[wxPython]] (Python wrapper for the wx widgets collection) ==References== {{Reflist}} ==External links== * [http://www.pygtk.org/ PyGTK Homepage] * [https://web.archive.org/web/20070410140700/http://www.async.com.br/faq/pygtk/index.py?req=all PyGTK FAQ] * [http://pygtk.org/pygtk2tutorial/index.html PyGTK Tutorial] * [https://web.archive.org/web/20100507221008/http://majorsilence.com/PyGTK_Book PyGTK Notebook A Journey Through Python Gnome Technologies by Peter Gill] * [https://wiki.python.org/moin/PyGtk PyGTK at Python wiki] * [https://wiki.gnome.org/PyGObject PyGObject Homepage] * [http://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html PyGObject tutorial] {{GTK}} {{Widget toolkits}} [[Category:GTK language bindings]] [[Category:Python (programming language) libraries]] [[Category:Software that uses PyGObject]] [[Category:Software that uses PyGTK]] [[Category:Widget toolkits]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Div col
(
edit
)
Template:Div col end
(
edit
)
Template:GTK
(
edit
)
Template:Infobox
(
edit
)
Template:Infobox software
(
edit
)
Template:Main
(
edit
)
Template:Main other
(
edit
)
Template:Portal
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)
Template:Template other
(
edit
)
Template:Widget toolkits
(
edit
)