Interfaces gráficas Programación http://progra.usm.cl Crear una ventana from Tkinter import * w = Tk() # ... w.mainloop() Widgets Etiqueta (Label): muestra información. Botón (Button): activa eventos. Entrada (Entry): permite ingresar información. Crear y agregar widgets from Tkinter import * w = Tk() l = Label(w, text='Hola progra') l.pack() b1 = Button(w, text='Saludar') b1.pack() b2 = Button(w, text='Salir') b2.pack() w.mainloop() Controladores from Tkinter import * def saludar(): print 'Hola' w = Tk() l = Label(w, text='Hola progra') l.pack() b1 = Button(w, text='Saludar', command=saludar) b1.pack() b2 = Button(w, text='Salir', command=exit) b2.pack() w.mainloop() Modelos from Tkinter import * w = Tk() l1 = Label(w, text='Texto estatico') l1.pack() v = StringVar() l2 = Label(w, textvariable=v) l2.pack() v.set('Texto variable') s = v.get() w.mainloop() Ejercicio 1 Escriba un programa con la siguiente interfaz. Cada vez que se haga clic en el botón +1 , el número mostrado debe aumentar: −→ −→ Al hacer clic en el botón Salir , el programa debe terminar. −→ Entrada de datos from Tkinter import * w = Tk() v = StringVar() e = Entry(w, textvariable=v) e.pack() def imprimir(): print v.get() def cambiar(): v.set('Hola') w.mainloop() Conceptos Controlador: función que es invocada cuando se hace clic en un botón. Modelo: información que puede cambiar durante la ejecución del programa. Ejercicio 2 Escriba un programa con la siguiente interfaz: −→ Mayusculizar debe convertir el texto a mayúsculas. Minusculizar debe convertir el texto a minúsculas. Limpiar debe borrar el texto. Ejercicio 3 Escriba un programa que convierta grados Fahrenheit a Celsius: La fórmula es: C = 5 · (F − 32) 9 Ejercicio 4 Escriba un programa como el siguiente: