PyGTK
PyGTK | |||||
---|---|---|---|---|---|
![]() | |||||
Información general | |||||
Tipo de programa | Widget toolkit | ||||
Desarrollador | PyGTK Core development team | ||||
Licencia | LGPL | ||||
Información técnica | |||||
Programado en | Python | ||||
Versiones | |||||
Última versión estable | 2.24.0 (01 de abril de 2011 (14 años y 9 días)) | ||||
Lanzamientos | |||||
| |||||
Enlaces | |||||
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
[editar]A continuación se muestran algunos ejemplos del uso de PyGTK
Hola Mundo
[editar]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
[editar]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
[editar]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)