Publicado el 9 de Marzo del 2020
665 visualizaciones desde el 9 de Marzo del 2020
355,6 KB
6 paginas
Creado hace 18a (20/06/2006)
Desarrollo de aplicaciones Python-GTK
Jesús Espino García
25 de Abril de 2006
Contenidos
Introducción.
Conceptos básicos.
Interfaces.
Algo de código.
Ejemplos.
Referencias.
¿Por qué PyGTK?
Es Python!!
Introducción.
Es totalmente libre (Python y GTK).
Es rápido de aprender.
Es rápido de desarrollar.
Bien documentado.
Lo aprendido sirve para otros lenguajes.
Es bonito.
Es multi plataforma (Python y GTK)
Si usamos glade, separación de la interfaz del código
1
¿Por qué no?
Es Python :(
Ejecución interpretada (lenta)
Proyectos muy grandes (problemas de gran escala)
¿Qué necesitamos?
python: Interprete de python.
python-gtk: Libreria de python GTK.
glade: Aplicación de diseño de interfaces GTK.
devhelp: Con el libro de GTK+ una buena referencia.
Conceptos básicos.
Widgets
Los objetos con los que trabajeremos en GTK
Ventanas.
Cajas.
Botones.
Entradas.
Etiquetas.
Listas.
Checkboxes.
Otros...
Contenedores
Widgets que cotienen otros widgets
Ventana.
Cajas.
Notebooks.
Otros...
2
Señales
Eventos que se producen sobre un widget.
Clicks.
Pulsado de tecla.
Destruir.
Entrar en el area del widget.
Salir de area del widget.
Moviemiento de raton.
Otros...
Manejadores
Funciones o metodos que gestionan una señal, es decir, cualquier función o metodo definido que
se enlaza a la señal de un objeto.
Interfaces.
Glade y Gazpacho
Interfaz de diseño de interfaces.
Es XML.
Es Grafico.
Es GTK.
No pierdes control.
Glade
Interfaz mas popular pues fue el primero en salir en este campo y utiliza varias ventanas para
realizar su trabajo.
3
Gazpacho
Interfaz alternativo, menos utilizado pero una opción más y utiliza una única ventanas para
realizar su trabajo.
Algo de código.
Básico
import gtk
window = gtk.Window()
window.show()
gtk.main()
Insertando algun widget
...
button = gtk.Button()
button.show()
window.add(button)
...
Cambiando información de un widget.
...
button.set_label("Pulse Aqui")
...
4
Conectando una señal
...
button.connect("clicked",boton_clickeado)
...
Definiendo un manejador
...
def boton_clickeado(widget):
print "hola mundo"
...
Importar un interfaz generado
...
xml = gtk.glade.XML("ruta/archivo.glade")
...
Conectar las señales
...
xml.signal_autoconnect(locals())
...
Ejemplos.
Mozilla en 30 lineas
Ejemplo de insertar un gecko en una aplicación GTK
Sumadora
Ejemplo de una sumadora que utiliza un XML de glade para generar el interfaz.
Para terminar.
5
Referencias
¿Por dónde empezar?
• http://www.pygtk.org: Referencia completa.
¿Dónde preguntar?
• Lista de correo de pygtk.
• Lista de correo de python.
• Listas de distribución de grupos de usuarios de Linux.
Dudas
. . .
Agradecimientos
Gracias a Pablo Barrera por la charla de Python GTK con la que empecé con esto.
Gracias al equipo de LUC3M por permitirme trabajar en un proyecto tan interesante.
Fin
6
Comentarios de: Desarrollo de aplicaciones Python-GTK (0)
No hay comentarios