6. • Tkinter ("Tk Interface") es una librería para la la creación de
GUI(Interfaces gráficas de usuario) en Python
multiplataforma(Windows, GNU/Linux y Mac).Además es un
conjunto de herramientas GUI de Tcl/Tk (Tcl: Tool Command
Language), proporcionando una amplia gama de usos, incluyendo
aplicaciones web, de escritorio, redes, administración, pruebas y
muchos más.
¿Qué es TKINTER?
7. • Entre los puntos fuertes que caracterizan a Tkinter es que viene
instalado con python en casi todas las plataformas, su sintaxis es
clara, fácil de aprender y documentación completa. Tkinter no es
solo la única librería para python especializada en la creación de
interfaces gráficas, entre las más empleadas están wxPython, PyQt y
PyGtk, todas con ventajas y desventajas.
¿Por qué usar TKINTER?
8. Importar
modulo
tkinter
Crear la
aplicación
GUI de la
ventana
principal
Adicionar
Widgets
Entrar al ciclo
del evento
principal
Primera Ventana
#tkinter - Componente Raiz
#importar la libreria
from tkinter import * #Tkinter 2.x
#declarar una variable raiz
raiz=Tk()
#parametros
raiz.title("Programa de la libreria
tkinter")
raiz.mainloop()
10. FRAME
Frame Widget
Los Frames son
marcos contenedores de
otros widgets.
from tkinter import * #Tkinter 2.x
#declarar una variable raiz
raiz=Tk()
#parametros
raiz.title("Programa del Marco(Frame) en
tkinter")
#instrucciones
#Creamos el componente Frame()
marco=Frame(raiz)
marco.config(bg="red", width=400,height=300)
marco.pack()
#creamos el componente label
#etiqueta
raiz.mainloop()
11. LABEL
Label Widget
Etiqueta dónde podemos
mostrar algún texto
estático.
#tkinter - Componente Raiz
#importar la libreria
from tkinter import * #Tkinter 2.x
#declarar una variable raiz
ventana=Tk()
#parametros
ventana.title("Programa componente Label
tkinter")
#variable tipo texto
texto="La reina del Flow"
etiqueta=Label(ventana,text=texto)
etiqueta.config(fg="Silver",
bg="yellow",font=("Calibri",30))
etiqueta.pack()
ventana.mainloop()
12. BUTTON
Button Widget
Botón con un texto sobre
el cual el usuario puede
hacer clic.
#tkinter - Componente Raiz
#importar la libreria
from tkinter import * #Tkinter 2.x
#declarar una variable raiz
raiz=Tk()
#parametros
raiz.title("Programa del componente buttom
tkinter")
#Creamos el componente button
def accion():
print("Café con aroma de Mujer")
boton=Button(raiz, text="Destacar",
command=accion)
boton.pack()
raiz.mainloop()
13. ENTRY
Entry Widget
Campo de texto sencillo
para escribir texto corto.
Nombres, apellidos,
números…
#tkinter - Componente Raiz
#importar la libreria
from tkinter import * #Tkinter 2.x
#declarar una variable raiz
raiz=Tk()
#parametros
raiz.title("Programa del componente Entry tkinter")
#declarar el componente entry
entrada=Entry(raiz)
#parametros
entrada.config(justify="center")#show="*"
entrada.pack()
raiz.mainloop()
14. from tkinter import *
from tkinter.ttk import *
#declarar una variable raiz
raiz=Tk()
#parametros
raiz.title("Programa componente combobox
tkinter")
#Geometry
raiz.geometry('350x200')
combo=Combobox(raiz)
combo['values']=(1,2,3,4,5, "Texto")
combo.current(0)
#Grid
combo.grid(column=0, row=0)
raiz.mainloop()
COMBOBOX
Combobox Widget
Es la lista desplegable
para que el usuario pueda
elegir.
15. CHECKBUTTON
Checkbutton Widget
Botón cuadrado que se
puede marcar con un tic.
from tkinter import * #Tkinter 2.x
raiz=Tk()
raiz.title("Programa checkbutton tkinter")
def verificar():
valor=checkeo.get()
if(valor ==1):
print("Netflix Activado")
else:
print("Netflix Desactivado")
checkeo=IntVar()
botoncheckeo=Checkbutton(raiz,text="Neflix",
variable=checkeo, onvalue=1,
offvalue=0,command=verificar)
botoncheckeo.pack()
raiz.mainloop()
16. RADIOBUTTON
Radio Button Widget
Botón radial que se usa
en conjunto donde es
posible marcar una
opción.
from tkinter import * #Tkinter 2.x
raiz=Tk()
raiz.title("Programa RadioButton tkinter")
def seleccionar():
print("El lenguaje que ud habla es {}".format(opcion.get()))
opcion=IntVar()
radio1=Radiobutton(raiz, text="Nortesantandereano",
variable=opcion, value=1,command=seleccionar)
radio1.pack()
radio2=Radiobutton(raiz, text="Paisa",variable=opcion,
value=2,command=seleccionar)
radio2.pack()
radio3=Radiobutton(raiz, text="Rolo",variable=opcion,
value=3,command=seleccionar)
radio3.pack() #raiz.mainloop()
17. SCROLLEDTEXT
#tkinter - Componente Raiz
#importar la libreria
from tkinter import * #Tkinter 2.x
#from tkinter import * #Tkinter 2.x y 3.x
#importar el widget scrolltext
from tkinter import scrolledtext
#declarar una variable raiz
raiz=Tk()
#parametros
raiz.title("Programa de componente scrolltext
tkinter")
texto=scrolledtext.ScrolledText(raiz,width=40,
height="10")
texto.grid(column=0, row=0)
raiz.mainloop()
Scrolled Text Widget
Es similar al Widget Entry
con la salvedad que nos
permite ingresar
múltiples líneas.
18. SPINBOX from tkinter import *
#declarar una variable raiz
raiz=Tk()
#parametros
raiz.title("Programa componente Spinbox
tkinter")
raiz.geometry("350x200")
spin=Spinbox(raiz, from_=0, to=2, width=5)
spin.grid(column=0, row=0)
spin=Spinbox(raiz, from_=0, to=3, width=5)
spin.grid(column=1, row=1)
spin=Spinbox(raiz, from_=0, to=4, width=5)
spin.grid(column=2, row=3)
raiz.mainloop()
Spinbox Widget
Este control visual es
muy utilizado para
seleccionar un valor de
una lista
19. MESSAGEBOX
Messagebox Widget
Los Frames son
marcos contenedores de
otros widgets.
from tkinter import * #Tkinter 2.x
from tkinter import messagebox
raiz=Tk()
raiz.title("Programa messagebox tkinter")
def avisar():
messagebox.showinfo("Ventana Emergente","SPAM")
def preguntar():
messagebox.askquestion("Quiere mas
publicidad","¿Quieres hackear Facebook?")
botonpop=Button(raiz, text="Abrir
Rappy",command=avisar)
botonpop.pack()
botonpop2=Button(raiz, text="Abrir
Facebook",command=preguntar)
botonpop2.pack()#raiz.mainloop()
20. Clase de widget Descripción Prefijo de nombre de variable Ejemplo
Label Un widget utilizado para
mostrar texto en la pantalla
lbl lbl_nombre
Button Un botón que puede contener
texto y puede realizar una
acción al hacer clic
btn btn_enviar
Entry Un widget de entrada de texto
que permite solo una línea de
texto
ent ent_edad
Text Un widget de entrada de texto
que permite la entrada de texto
multilínea
txt txt_notas
Frame Una región rectangular utilizada
para agrupar widgets
relacionados o proporcionar
relleno entre widgets
frm frm_direccion
Combobox Un widget de opciones
seleccionables
cmb cmb_ciudad
RESUMEN
21. Tipos Inmutables -> Tipos Mutables en Tkinter
int IntVar
string StringVar
bool BooleanVar
double DoubleVar
Tipos Tkinter
from tkinter import * #Tkinter 2.x
#declarar una variable raiz
raiz=Tk()
datos = StringVar()
datos.set("Mostrando la Datos")
lblMostrar = Label(raiz,
textvariable=datos)
lblMostrar.pack()
raiz.mainloop()
22. "La mayor mejora de todas en
términos de desempeño es
cuando un sistema pasa de no
funcionar a funcionar.”
John Ousterhout