Interfaz Gráfica con Python
Python Tkinter
Creación de Interfaz Gráficas
1
Interfaz Gráfica con Python
Contenido
Widgets Básicos 2
Práctica 01 First Window 2
Práctica 02 Hello World with Label 3
Práctica 03 Hello World with Button 5
Práctica 04 Formulario de estudiante 6
Practica 5 Cálculo de días vividos 8
2
Interfaz Gráfica con Python
Práctica 01 Primera Ventana
Objetivo
Crear una ventana con el lenguaje de programación Python
Código
#Importar librerá TKinter
import tkinter as tk
root = tk.Tk() #Crea una nueva ventana
root.title("Hola Mundo") #Título
ventana.mainloop()
Desafío: Probar los siguientes comandos y jugar con las propiedades del objeto root
Comandos Descripción Observaciones
root.geometry("600x300") Tamaño
root.geometry("600x300+500+10") Tamaño y posición
root['bg']='green'
3
Interfaz Gráfica con Python
Práctica 02 Hello World with Label
Código
#Importar librerá TKinter
import tkinter as tk
root = tk.Tk() #Crea una nueva ventana
root.geometry("600x300+500+10")
root.title("Hola Mundo") #Título
root['bg']='green'
widgetLabel = tk.Label(root, text="Hello World!")
widgetLabel.pack()
root.mainloop()
4
Interfaz Gráfica con Python
Desafío:
● Jugar con los siguientes comandos a través del objeto root
● Agregar una nueva etiqueta
Comandos Descripción Observaciones
widgetLabel['fg']='white'
widgetLabel['font']='Arial 24'
5
Interfaz Gráfica con Python
Práctica 03 Hello World with Button
Código
#Importación de librerías gráficas
from tkinter import *
from tkinter import ttk
root = Tk()
ventana = ttk.Frame(root, padding=20) #Crear una ventana
ventana.grid() #Rejilla para los componentes
#Etiqueta
ttk.Label(ventana, text="Hello World!").grid(column=0, row=0)
#Boton
ttk.Button(ventana, text="Quit", command=root.destroy).grid(column=1, row=0)
root.mainloop()
6
Interfaz Gráfica con Python
Práctica 04 Formulario de estudiante
Objetivo
Definir un interfaz de Usuario para captura de información de estudiante
Código
#Importación de librerías gráficas
from tkinter import *
root = Tk() #Crea una ventana
root.geometry('500x300')
root.title('Forma de captura de Estudiante')
root['bg']='#ff9a52'
#Etiqueta1
labelGreeting = Label(root, text="Datos del estudiante")
labelGreeting.place(x=100, y=20)
7
Interfaz Gráfica con Python
labelGreeting['bg']='#ff9a52'
labelGreeting['fg']='#690202'
labelGreeting['font']= 'Arial 20'
#Etiqueta2
labelNombre = Label(root, text='Nombre')
labelNombre['font'] ='Roboto 12'
labelNombre.place(x=10, y=60)
#Entry
entryNombre = Entry(root)
entryNombre.place(x=150, y=60)
#Boton
buttonSalir = Button(root, text="Salir", command=root.destroy)
buttonSalir.place(x=150, y=100)
buttonSalir['width'] = '15'
root.mainloop()
Desafío
● Crear la siguiente interfaz agregando los controles
● Personaliza los colores de los Widgets de acuerdo a tus gustos.
8
Interfaz Gráfica con Python
9
Interfaz Gráfica con Python
Práctica 5 Cálculo de días vividos
Código
from tkinter import *
win = Tk()
win.geometry("600x300")
win.title("Formas Días Vividos")
win['bg'] = '#9dc9ac'
# Título de Formulario
labelTitle = Label(win, text="Cálculo de Días Vividos")
labelTitle['font'] = 'Arial 20'
labelTitle['bg'] = '#45aab8'
labelTitle['fg'] = '#39324d'
labelTitle.place(x=150, y=5)
# Título de Label Nombre
labelEdad = Label(win, text="Ingresa la edad")
labelEdad['font'] = 'Arial 14'
labelEdad['bg'] = '#45aab8'
10
Interfaz Gráfica con Python
labelEdad['fg'] = '#39324d'
labelEdad.place(x=20, y=60)
# Control para captura de edad
edadEntry = Entry(win)
edadEntry['font'] = 'Arial 20'
edadEntry['bg'] = '#39324d'
edadEntry['fg'] = 'white'
edadEntry.place(x=200, y=60)
# Título de Label Edad
labelTotal = Label(win, text="Total")
labelTotal['font'] = 'Arial 14'
labelTotal['bg'] = '#45aab8'
labelTotal['fg'] = '#39324d'
labelTotal.place(x=20, y=100)
# Despliegue de edad
totalEntry = Entry(win, state=DISABLED)
totalEntry['font'] = 'Arial 20'
totalEntry['bg'] = '#39324d'
totalEntry['fg'] = 'white'
totalEntry.place(x=200, y=100)
# Botón para realizar los cálculos
botonCalcular = Button(win, text="Calcular")
botonCalcular['font'] = 'Arial 30'
botonCalcular['bg'] = '#39324d'
botonCalcular['fg'] = 'white'
botonCalcular.place(x=200, y=150)
# Botón de Salir
botonSalir = Button(win, text="Salir")
botonSalir['font'] = 'Arial 30'
botonSalir['bg'] = '#39324d'
11
Interfaz Gráfica con Python
botonSalir['fg'] = 'white'
botonSalir.place(x=400, y=150)
win.mainloop()
Agregar las variables de control que ligan a las cajas de texto
Ligar las variables de control a los componentes Entry
Indicar al botón la función que realizará los cálculos y establecerá valor en control entryTotal
12
Interfaz Gráfica con Python
Véase resultado
Desafío utilice un manejo de error cuando se le ingrese un dato incorrecto, mensajes de error
from tkinter import messagebox
def calcular():
try:
age = int(edadControl.get()) *365 # Extrae
totalControl.set(str(age)) # Establece valor
except ValueError:
13
Interfaz Gráfica con Python
messagebox.showinfo(message="Error en el datos", title="Error")
totalEntry.focus_set()
14
Interfaz Gráfica con Python
Cr
15