Curso de Python Básico

TUTORIAL DE MANEJO DEL TKINTER
Comenzaremos con el código de una ventana. Este código es lo básico para
instanciar una ventana
#importamos el modulo tkinter
from Tkinter import *
#Creamos una ventana
ventana = Tk()
#Mostramos la ventana
ventana.mainloop()
Para manipular la ventana su tamaño y ubicación en la pantalla usamos el
método geometry y para darle un título el método title.
#importamos el modulo tkinter
from Tkinter import *
#Creamos una ventana
ventana = Tk()
#Asignar un tamaño a la ventana
#geometry('ancho X alto + posx + posy'
ventana.geometry('500x300+100+100')
#Asignamos un título a la ventana
ventana.title('Ventana con Etiquetas (Labels)')
#Inicializamos el procedimiento
#se hace cuando ya terminamos de crear todos
los widgets
ventana.mainloop()
Seguiremos añadiendo código de manipulación de la ventana con el pasar del
tutorial.

Label
En el siguiente código veremos cómo crear un label y colocarlo a la ventana con
el método pack pero el problema es que se colocan automáticamente.
from Tkinter import *
ventana = Tk()
ventana.geometry('500x300+100+100')
ventana.title('Ventana con Etiquetas
(Labels)')
#Creamos Las etiquetas
lblUsuario = Label(text='Usuario')
lblDatos = Label(text='Giancarlo Escobedo')
#Agregamos la eiqueta lblUsuarioa la
ventana
lblUsuario.pack()
lblDatos.pack()
ventana.mainloop()

Giancarlo Escobedo Valdivia

from Tkinter import * ventana = Tk() ventana.fg='green').y=10) Giancarlo Escobedo Valdivia .grid(row=0.14)).mainloop() Campos de texto Para los campos de texto necesitaremos crea una variable del tipo StrinrVar() para utilizar método del campo de texto.font=('Verdana'.Curso de Python Básico Para poder darle una ubicación precisa en el ventana utilizaremos otro método llamado place en vez de pack.bg ='yellow'). #importamos el modulo tkinter from Tkinter import * ventana = Tk() ventana.geometry('500x300+100+100') ventana.y=20) lblDatos = Label(text='Giancarlo Escobedo').grid(row=0. utilizamos el método set para ingresar texto.column=1.title('Ventana con Cuadro de texto') #Creamos Las etiquetas font lblUsuario = Label(text='Usuario'. from Tkinter import * ventana = Tk() ventana.sticky =W) ventana.geometry('500x300+100+100') ventana.fg='blue'.place(x=100.geometry('500x300+100+100') ventana. También utilizaremos una función para cambiar el color y el relleno de la etiqueta y la función sticky para la ubicación del texto. el campo de texto tiene un tamaño de 20 caracteres por defecto por lo cual con la propiedad width podemos modificarla.column=0) lblDatos = Label(text='GianEsco'.title('Ventana con Etiquetas (Labels)') #Creamos Las etiquetas lblUsuario = Label(text='Usuario').title('Ventana con Etiquetas (Labels)') #Creamos Las etiquetas #fg es foreground color del texto #bg es background colo de relleno lblUsuario = Label(text='Usuario'. Hay que tener cuidado ya que las medidas que usamos es en pixeles y no es caracteres por lo que hay que estar probando hasta llegar a la ubicación deseada.place(x=10.place(x=210.y=20) ventana.mainloop() Otra forma de dar ubicación a los labels es con el método grib. Utilizaremos la palabra entry para crear campos de texto. Hay que tener en cuenta que utilizaremos la ventana como una grilla.

y=60) entradaU. font = ('Calibri'.mainloop() Botones Para la creación de Botones utilizaremos el método Button.textvariable=entradaN.textvariable=entradaU).font=('Arial'.14)).text='Saludar'.y=10) lblNombre = Label(text='Nombre'.place(x=10.y=50) #Creamos campos de texto entradaU = StringVar() txtUsuario = Entry(ventana.place(x=10.place(x=100.12).font=('Arial'.place(x=100. #importamos el modulo tkinter from Tkinter import * #Metodo encargada de Saludar al Usuario def Saluda(): lblSaluda = Label(ventana.14)).14)).mainloop() Colocando eventos a los botones utilizaremos la propiedad command de la siguiente manera: Creamos dos métodos para ayudarnos.place(x=100.14)).place(x=300.font=('Agency FB'.12).width = 30).text='Despedir'.set('LP0001') entradaN.width = 30). #importamos el modulo tkinter from Tkinter import * ventana = Tk() ventana.place(x=10. y=150) #Metodo encargada de Despedir al Nomnre def Despide(): Giancarlo Escobedo Valdivia .place(x=10.textvariable=entradaN.y=20) btnDespedir = Button(ventana.font=('Agency FB'.y=50) #Creamos campos de texto entradaU = StringVar() txtUsuario = Entry(ventana.place(x=300.width = 15).font=('Verdana'.y=60) ventana.set('Giancarlo Escobedo Valdivia') ventana.place(x=100.get().Curso de Python Básico lblNombre = Label(text='Nombre'.y=20) entradaN = StringVar() txtNombre = Entry(ventana.text='Hola '+entradaU.y=60) #Creamos Botones btnSaludar = Button(ventana.geometry('500x300+100+100') ventana.width = 15).y=20) entradaN = StringVar() txtNombre = Entry(ventana.textvariable=entradaU).title('Ventana con Cuadro de texto') #Creamos Las etiquetas font lblUsuario = Label(text='Usuario'.

command = Despide.width = 15).text="Materia:").place(x=300.'Sistemas Operativos') lstMaterias.insert(2. font=('Arial'.y=20) btnDespedir = Button(ventana.place(x=100.place(x=100.y=50) #Creamos campos de texto entradaU = StringVar() txtUsuario = Entry(ventana.place(x=10.textvariable=entradaN. font=('Arial'.text='Saludar'. font = ('Calibri'. cuadro de texto y botón para ingresar datos a mi lista #importamos el modulo tkinter from Tkinter import * #Creamos la funcion para agregar def agrega(): lstMaterias.12).mainloop() Agregamos una etiqueta.y=60) #Creamos Botones btnSaludar = Button(ventana.title('Ventana de Eventos con Botones') #Creamos Las etiquetas font lblUsuario = Label(text='Usuario'.command = Saluda.text='Adios '+entradaN.insert(1.y=10) lblNombre = Label(text='Nombre'.insert(0.place(x=100.font=('Agency FB'.width=50) lstMaterias.place(x=300.text='Despedir'.delete(1) lstMaterias.entradaL.insert(END.insert(3.14)).14)).geometry('700x600+0+0') ventana.'Programacion en Python') #Eleminar elemtos de la lista lstMaterias.get()) ventana = Tk() Giancarlo Escobedo Valdivia .12). #importamos el modulo tkinter from Tkinter import * ventana = Tk() ventana.font=('Verdana'.title('Ventana con Listas') lblMaterias = Label(ventana.width = 15).'Programacion Basica') lstMaterias. y=180) ventana = Tk() ventana.mainloop() Cuadro de lista Crearemos un cuadro de lista con algunos datos.width = 30).'Programacion Orientada a Objetos') lstMaterias.Curso de Python Básico lblDespide = Label(ventana.y=100) #creamos una Lista lstMaterias = Listbox(ventana.14)).geometry('500x300+100+100') ventana.y=20) entradaN = StringVar() txtNombre = Entry(ventana.place(x=10.y=120) ventana.textvariable=entradaU).place(x=100.get().y=60) ventana.place(x=10.

insert(1.y=20) btnAgregar = Button(ventana.y=20) entradaL = StringVar() txtMateria = Entry(ventana.title('Ventana con Combos') lablCalifT=Label(ventana.textvariable=entradaL.text ='agregar'.'Programacion Basica') lstMaterias.'Sustitutorio'.y=100) #creamos un combo cobCalifT = Spinbox(ventana.text='calificacionesen texto:').cuadro de texto y boton lblMat=Label(ventana.y=100) #creamos una Lista lstMaterias = Listbox(ventana.values=('Reprobado'.title('Ventana con Listas') lblMaterias = Label(ventana.place(x=100.place(x=100.place(x=100.geometry('700x600+0+0') ventana.'Aprobado'.insert(3. 'NCP')). command = agrega).width=50) lstMaterias.Curso de Python Básico ventana.'Programacion en Python') lstMaterias.height=2.y=20) ventana.geometry('600x600+0+0') ventana.place(x=350.y=120) #creamos uan eteqiueta.width=20.place(x=200.y=100) Giancarlo Escobedo Valdivia .mainloop() Combo box #importamos el modulo tkinter from Tkinter import * #Creamos la funcion para agregar ventana = Tk() ventana.insert(0.width=40).place(x=20.insert(2.'Programacion Orientada a Objetos') lstMaterias.text="Materias:").'Sistemas Operativos') lstMaterias.place(x=150.text="Materia:").