viernes, 8 de abril de 2011

Python: GUI con Tkinter

En estos días ya leí un libro sobre python, el cual me recomendó un profesor de UPSLP, el libro te da una explicación de lo que es este lenguaje, su sintaxis en general es un libro recomendable y que todos aquellos que están de lleno con python deberían de leer, el libro esta en formato pdf y es gratis pueden dirigirse a la pagina principal o directamente descargarlo en su version en español desde aquí.
Todo marchaba bien realizaba ejemplos, me inventaba unos pero carecían de algo importante en una aplicacion un ambiente visual, pues bien después de leer un poco o mucho sobre como programar GUI en python llegue a Tkinter es un modulo de python que nos ayuda con la programación de ventanas, botones, frames etc..

Bueno pero que es Tkinter según la misma wiki de este, lo describe así:
Tkinter is Python's de-facto standard GUI (Graphical User Interface) package.
Pues bien después de encontrar este modulo estándar de python para la creación de interfaces de usuario prosigo a mostrar el típico Hola Mundo!, a continuación pego el código del pequeño script y prosigo a explicarlo brevemente.

Archivo HolaMundo.py
from Tkinter import *
root = Tk()
w = Label(root, text="Hello, world!")
w.pack()
root.mainloop()
Con la linea del pequeño script from Tkinter import *, lo que estamos haciendo es importar todo lo que tiene el modulo Tkinter, el cual contiene todas las clases y funciones que se necesitan para trabajar con TK. 



Para iniciar TK necesitamos crear un root Tkinter widget, solo se debe de crear un root widget y debe ser declarado antes de cualquier widget. Esto mas o menos se puede entender que se debe de crear un widget padre y después crear todos los demás widgets de ese widget padre, se crea con la siguiente linea, root =Tk()

A continuación se ve lo de Widget padre e hijo, por que se crea una etiqueta(label) del widget padre root, como se muestra en esta linea de código, w=Label(root, text="Hello, World!")
Después de esto viene esta w.pack() a grandes rasgos, lo que entendí fue que es el que hace que se muuestre en pantalla la ventana y ajusta el ancho dependiendo los componentes que contenga dicha ventana.

Por ultimo se usa root.mainloop(), esto si no entiendo muy bien su función o por que esta ahí conforme valla avanzando en la lectura de Tkinter espero poder poner el funcionamiento de dicha parte del código o si algún experimentado en python nos quiere ayudar sera bien recibido.

Después compilamos con HolaMundo.py, al terminar nos mostrara una ventana como la que se muestra en la imagen.

Bueno a partir de hoy posteare algunos ejemplos sobre Tkinter, tratare de explicar las diferentes sintaxis de los scripts que ponga de la forma en que yo los entiendo, si en algún momento me equivoco en alguna definición favor de hacerlo saber pues así aprendemos mas si cooperamos con las respectivas correcciones.

No hay comentarios:

Publicar un comentario