primer Ejemplo en PyGTK

Vamos hacer la primera aplicación gráfica con python y GTK como lo mencionaba en el post pasado python hace uso de GTK para generar un entorno gráfico, un entorno de ventanas, botones, y demás recursos que GTK proporciona, veamos un ejemplo de esto para esto vamos ha realizar la siguiente aplicación:

Imagen - Ventana Generada con PyGTK

Imagen - Ventana Generada con PyGTK

Bueno pasemos al codigo para luego pasar a una explicacion sobre el mismo:

#!/usr/bin/env python
import pygtk
pygtk.require('2.0')
import gtk

class Table:
  1. funcion del boton de salida
def delete_event(self, widget, data=None): gtk.main_quit() return gtk.FALSE
  1. funcion para el boton de busqueda
def busqueda(self, widget, data=None): print "realizar busqueda"
  1. funcion para el boton de insertar
def insertar(self, widget, data=None): print "funcion insertar un nuevo producto" def __init__(self):
  1. Creando una nueva ventana y personalizandola(le ponemos titulo)
self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) self.window.set_title("..::[Primer ejemplo en PyGTK]::..") self.window.set_border_width(20)
  1. eliminamos los eventos existentes
self.window.connect("delete_event", self.delete_event)
  1. creamos (luego agregamos) una tabla de 2x2 donde estaran los botones
table = gtk.Table(2, 2, gtk.TRUE) self.window.add(table)
  1. Creando el primer boton el cual usara la celda <superior,izq> de la tabla
button = gtk.Button("Busqueda") button.connect("clicked", self.busqueda ) table.attach(button, 0, 1, 0, 1) button.show()
  1. Creando el segundo boton el cual usara la celda <inferior,izq> de la tabla
button = gtk.Button("Salir") button.connect("clicked", self.delete_event) table.attach(button, 1, 2, 0, 2) button.show()
  1. Creando el segundo boton el cual usara en este caso:
  2. las celdas <superior,der> e <inferior,der> de la tabla
button = gtk.Button("Insertar") button.connect("clicked", self.insertar) table.attach(button, 0, 1, 1, 2) button.show() table.show() self.window.show() def main(): gtk.main() return 0 if __name__ == "__main__": Table() main()

Como podemos ver existen 3 funciones las cuales conectan los eventos, esta forma de conectar a los eventos con las funciones es algo analogo a el conceptos de handlers de java solo que para mi parecer python los maena de forma mas trasparentes tambien como se puede observar el manejo del LayOut es practico con el uso de tablas ya que un objeto en una tabla no esta atrapado al espacio de una sola celda como en este caso el boton de cerrar esta contenido en 2 celdas, por ultimo cabe mencionar que la primera linea es un comentario para el shell en este caso estamos diciendo que el interprete que ejecutara nuestro codigo se localiza en (/usr/bin/) esto es si lo queremos ejecutar desde linea de comandos en nuestro entorno linux o Mac con la siguiente instrucion(supongamos que el scrip se llama ejem01.py).

$chmod +x *.py

$./ejemp01.py

para ejecutarlo sobre windows

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s