PyGTK es un binding de la biblioteca gráfica GTK para el lenguaje de programación Python. La biblioteca GTK se usa para desarrollar el entorno gráfico GNOME, así como sus aplicaciones, a la vez que algunos otros entornos gráficos. La biblioteca GTK permite el desarrollo sencillo de interfaces gráficas y su uso conjunto con Python permite el desarrollo rápido de aplicaciones gráficas potentes.
Ejemplos A continuación se muestran algunos ejemplos del uso de PyGTK
Hola Mundo El código siguiente producirá una ventana de 200x200 píxeles con las palabras "Hola mundo" en el interior.
import gtk
def crear_ventana(): ventana = gtk.Window() ventana.set_default_size(200, 200) ventana.connect('destroy', gtk.main_quit)
etiqueta = gtk.Label('Hola mundo') ventana.add(etiqueta)
etiqueta.show() ventana.show()
crear_ventana() gtk.main()
Para que el script se pueda ejecutar en un sistema *nix, la primera línea debe ser "#!/usr/bin/env python" o "#!/usr/bin/python" para inidicar donde se encuentra el intérprete. Además, el script debe disponer de permisos de ejecución.
Juego del 15 El siguiente programa es una implementación del juego del 15 que consiste en una ventana y botones que cambiarán su posición conforme se opriman.
import gtk from random import shuffle
def callback(boton): (x, y), (bx, by) = boton.posicion, blanco.posicion if (x-bx, y-by) in [(-1,0), (1,0), (0,1), (0,-1)]: tabla.remove(boton) tabla.remove(blanco) tabla.attach(boton, bx, bx+1, by, by+1) tabla.attach(blanco, x, x+1, y, y+1) boton.posicion = (bx, by) blanco.posicion = (x, y)
tam = 4 ventana = gtk.Window() ventana.set_default_size(500, 500) botones = [gtk.Button(str(i)) for i in range(1, tam * tam)] blanco = gtk.Button() tabla = gtk.Table(tam, tam, homogeneous=True)
shuffle (botones)
(x, y) = (0, 0) for i in botones + [blanco]: if x == tam: x = 0; y += 1 i.connect('clicked', callback) i.posicion = (x, y) tabla.attach(i, x, x+1, y, y+1) x += 1
ventana.connect('destroy', gtk.main_quit) ventana.add(tabla) ventana.set_title('Juego del '+str(tam*tam-1)) ventana.show_all() blanco.hide() gtk.main()
Note que es posible variar la cantidad de botones de la ventana cambiando el valor de 'tam'. El número de botones será 'tam*tam-1'. Para poder ejecutar éste script, se deberán seguir los pasos mencionados en el ejemplo anterior.
Aplicaciones que usan PyGTK PyGTK se utiliza en algunos proyectos relevantes, por ejemplo:
Anaconda (instalador) BitTorrent (programa) Deluge DeVeDe Emesene Exaile Flumotion Gajim gDesklets Gedit (para el subsistema Python y plugins) GIMP (para scripts opcionales en Python) GNOME Sudoku GRAMPS Itaka Jokosher PyMusique Pybliographer ROX Desktop (incluye ROX-Filer)
Véase también Python wxPython GTK PyQt PyObjC
Enlaces externos Sitio web oficial de PyGTK Tutorial de PyGTK (en inglés)
Categoría:Software libre Categoría:Bibliotecas gráficas Categoría:Bibliotecas de Python