Está en la página 1de 4

Grficos con Python

Para utilizar grficos con Python, utilizamos una biblioteca llamada Tkinter, la cual es considerada
un estndar para el diseo de interfaces grficas de usuario con Python.
Un primer programa con Tkinter:
from Tkinter import *
root = Tk()
w = Label(root, text="Hola Mundo!")
w.pack()
root.mainloop()
Explicado paso a paso es:
from Tkinter import *
importa todo el mdulo Tkinter
root = Tk()
crea root como winget principal
w = Label(root, text="Hola Mundo!") crea una etiqueta en root
w.pack()
adapta la ventana al tamao del texto
root.mainloop()
Ejecuta el ciclo de escucha de eventos, hasta
que se cierra la ventana
Ahora podemos hacer un programa ms completo, el cual incluya un botn:
from Tkinter import *
class App:
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.button = Button(
frame, text="Salir", fg="red", command=frame.quit
)
self.button.pack(side=LEFT)
self.hi_there = Button(frame, text="Hola",
command=self.say_hi)
self.hi_there.pack(side=LEFT)
def say_hi(self):
print "Esta linea la pueden reemplazar por su programa"
root = Tk()
app = App(root)
root.mainloop()
root.destroy() # opcional; cierra la ventana

Este programa se debera ver as:

El componente grfico donde se pueden desplegar grficos se denomina canvas (lienzo), aqu un
programa sencillo donde se utiliza canvas:
from Tkinter import *
master = Tk()
w = Canvas(master, width=200, height=100)
w.pack()
w.create_line(0, 0, 200, 100)
w.create_line(0, 100, 200, 0, fill="red", dash=(4, 4))
w.create_rectangle(50, 25, 150, 75, fill="blue")
mainloop()
y la aplicacin resultante:

Ahora un programa que puede servir de base para el programa de Epidemia


Al correrlo se vera as:

from Tkinter import *


class Persona():
sano = True
## agregar lo que corresponda
def creaPoblacion():
poblacion = []
return poblacion
def dibujaPoblacion(poblacion):
lienzo.create_oval(2, 2, 12,12, fill="red")
lienzo.create_oval(12, 2, 22,12, fill="blue")
def correSim():
print "Aqui va el codigo de la simulacion"
dibujaPoblacion(1)

# Seccion de la logica del programa


poblacion = creaPoblacion()
# Seccion de la interfaz grafica
ventana = Tk()
lienzo = Canvas(ventana, width=400, height=300)
lienzo.pack()
botonSalir = Button(ventana, text="Salir", fg="black", command=ventana.quit)
botonSalir.pack(side=LEFT)
boton1 = Button(ventana, text="Corre simulacion", command=correSim)
boton1.pack(side=LEFT)
mainloop()
ventana.destroy()

Claro que hay que escribir toda la lgica y funciones adicionales, pero esto ya es una base.

También podría gustarte