PyGTK , la enciclopedia libre
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 (13 años, 5 meses y 8 días)) | |
Lanzamientos | ||
PyGTK | PyGObject | |
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)