PyGTK

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda
PyGTK
Desarrollador
PyGTK Core development team
http://www.pygtk.org/
Información general
Última versión estable 2.24.0
1 de abril de 2011; hace 2 años (2011-04-01)
Género Widget toolkit
Sistema operativo Multiplataforma
Licencia LGPL

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()
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:

Véase también[editar]

Enlaces externos[editar]