Apuntes GUI IDLE
Apuntes GUI IDLE
MÓDULOS DE TKINTER
Tkinter - Módulo principal de Tkinter.
Tkinter.colorchooser - Diálogo para que el usuario elija un color.
Tkinter.commondialog - Clase base para los diálogos definidos en
los otros módulos enumerados aquí.
Tkinter.filedialog – Son Diálogos comunes para permitir al usuario
especificar un archivo para abrir o guardar.
Tkinter.font - Utilidades para ayudar a trabajar con fuentes.
Tkinter.messagebox - Acceso a los cuadros de diálogo Tk estándar.
Tkinter.scrolledtext - Widget de texto con una barra de
desplazamiento vertical incorporada.
Tkinter.simpledialog - Diálogos básicos y funciones de
conveniencia.
Tkinter.ttk - Conjunto de widgets temáticos introducido en Tk 8.5,
que proporciona alternativas modernas para muchos de los widgets
clásicos en el módulo principal de tkinter.
1 Button
El widget Botón se utiliza para mostrar los botones de su aplicación.
2 Canvas
El widget Canvas se utiliza para dibujar formas, como líneas, óvalos,
polígonos y rectángulos, en su aplicación.
3 Checkbutton
El widget Checkbutton se utiliza para mostrar una serie de opciones
como casillas de verificación. El usuario puede seleccionar varias
opciones a la vez.
4 Entry
El widget de entrada se utiliza para mostrar un campo de texto de una
sola línea para aceptar valores de un usuario.
5 Frame
El widget Frame se utiliza como un widget contenedor para organizar
otros widgets.
6 Label
El widget Etiqueta se utiliza para proporcionar un título de una sola línea
para otros widgets. También puede contener imágenes.
7 Listbox
El widget Listbox se utiliza para proporcionar una lista de opciones a un
usuario.
8 Menubutton
El widget Menúbutton se utiliza para mostrar menús en su aplicación.
9 Menu
El widget Menú se utiliza para proporcionar varios comandos a un
usuario. Estos comandos están contenidos dentro del botón de menú.
1 Message
0 El widget de mensaje se utiliza para mostrar campos de texto de varias
líneas para aceptar valores de un usuario.
1 Radiobutton
1 El widget de botón de radio se utiliza para mostrar una serie de opciones
como botones de radio. El usuario puede seleccionar solo una opción a la
vez.
1 Scale
2 El widget de escala se utiliza para proporcionar un widget deslizante.
1 Scrollbar
3 El widget de la barra de desplazamiento se utiliza para añadir capacidad
de desplazamiento a varios widgets, como los cuadros de lista.
1 Text
4 El widget Texto se utiliza para mostrar texto en varias líneas.
1 Toplevel
5 El widget Toplevel se utiliza para proporcionar un contenedor de ventana
separado.
1 Spinbox
6 El widget Spinbox es una variante del widget estándar de Tkinter Entry,
que se puede utilizar para seleccionar entre un número fijo de valores.
1 PanelWindows
7 Un PanedWindow es un widget de contenedor que puede contener
cualquier número de paneles, dispuestos horizontal o verticalmente.
1 LabelFrame
8 Un marco de etiquetas es un simple widget de contenedor. Su propósito
principal es actuar como un espaciador o contenedor para diseños de
ventanas complejos.
1 tkMessageBox
9 Este módulo se utiliza para mostrar cuadros de mensajes en sus
aplicaciones.
1 Notebook
Este widget gestiona una colección de "pestañas" entre las que puede
intercambiar, cambiando la ventana que se muestra actualmente.
2 ProgessBar
Utilizado para mostrar el progreso de carga mediante el uso de
animaciones.
3 Separator
Se utiliza para separar diferentes widgets usando una línea separadora..
4 Treeview
Este widget se utiliza para agrupar elementos en una jerarquía similar a
un árbol. Cada elemento tiene una etiqueta textual, una imagen opcional
y una lista opcional de valores de datos..
5 ComboBox
Se utiliza para crear una lista desplegable de opciones de las que el
usuario puede seleccionar una.
6 Sizegrip
Crea un pequeño asa cerca de la parte inferior derecha de la pantalla,
que se puede utilizar para cambiar el tamaño de la ventana.
class GenerarGUI():
def __init__(self):
ventana = Tk()
ventana.title("Topicos Avanzados de Programación")
ventana.geometry("500x200")
ventana.mainloop()
GenerarGUI()
import tkinter as tk
ventana = tk.Tk()
ventana.title("Topicos Avanzados de Programación")
ventana.geometry("500x200")
ventana.mainloop()
import tkinter as tk
class Application(tk.Frame):
def __init__(self,ventana_principal):
super().__init__(ventana_principal)
ventana_principal.geometry("400x300")
ventana_principal.title("Tópicos Avanzados de Programación")
ventana = Tk()
#ventana.geometry("840x300") #EL TAMAÑO SE PUEDE PONER DESDE AQUI
objAplic = Application(ventana)
objAplic.mainloop()
Administración de la Geometría:
Es la administración o gestión que se hace de la venta y tiene tres
métdos de opción:
pack()
Administración organiza los widgets en bloques antes de
colocarlos en el widget principal..
grid()
Esta administrador organiza los widgets en una estructura similar
a una tabla en el widget principal.
place()
Esta administrador orgnaniza los widgets colocándolos en una
posición específica en el widget principal.
import tkinter as tk
root = tk.Tk()
root.title("Ejemplo con pack()")
root.geometry("700x200")
tk.Label(root,
text="Derecha",bg="pink",fg="black").pack(fill="y",expand=False,
side="right")
tk.Button(text="Boton1").pack()
tk.Button(text="Boton2").pack()
tk.Label(root, text="Izque", bg="blue", fg="white").pack(side="left")
tk.Button(text="Boton3").pack(side="left")
tk.Entry().pack()
tk.Entry().pack()
root.mainloop()
import tkinter as tk
root = tk.Tk()
root.title("Ejemplo con grid()")
root.geometry("300x200")
tk.Label(root, text="Usuario:").grid(row=0, column=0, padx=5, pady=5)
tk.Entry(root).grid(row=0, column=1, padx=5, pady=5)
tk.Label(root, text="Contraseña:").grid(row=1, column=0, padx=5,
pady=5)
tk.Entry(root, show="*").grid(row=1, column=1, padx=5, pady=5)
tk.Button(root, text="Iniciar Sesión").grid(row=2, column=0,
columnspan=2, pady=10)
root.mainloop()
'''
#prueba este otro ejemplo, y cambia los valores del primer ejemplo para
colocar en el primer renglón
import tkinter as tk
root = tk.Tk()
root.title("Ejemplo con grid()")
root.geometry("300x200")
tk.Label(root, text="Fila 0, Col 0", bg="lightblue").grid(row=0,
column=0)
tk.Label(root, text="Fila 0, Col 1", bg="lightgreen").grid(row=0,
column=1)
tk.Label(root, text="Fila 1, Col 0", bg="lightcoral").grid(row=1,
column=0, columnspan=2, sticky="ew")
root.mainloop()
'''
import tkinter as tk
root = tk.Tk()
root.title("Ejemplo con place()")
root.geometry("300x200")
tk.Label(root, text="Texto 1", bg="red").place(x=50, y=20, width=100,
height=30)
tk.Label(root, text="Texto 2", bg="blue").place(x=100, y=70, width=100,
height=30)
tk.Label(root, text="Texto 3", bg="green").place(x=150, y=120,
width=100, height=30)
root.mainloop()
# Agrega elementos como botones y Entradas y label para practicar el
diseño
'''
#Ejemplo 2 con posición absoluta place
import tkinter as tk
root = tk.Tk()
root.title("Ejemplo con place()")
root.geometry("300x200")
tk.Label(root, text="Etiqueta 1", bg="yellow").place(x=50, y=50)
tk.Label(root, text="Etiqueta 2", bg="orange").place(x=100, y=100)
tk.Label(root, text="Etiqueta 3", bg="pink").place(x=150, y=150)
root.mainloop()
'''
Diálogo simple
El módulo simpledialog en el paquete tkinter incluye una clase de
diálogo y funciones de conveniencia para aceptar la entrada del usuario
a través de un diálogo modal. Consiste en una etiqueta, un widget de
entrada y dos botones Aceptar y Cancelar. Estas funciones son:
top = Tk()
top.geometry("190x100")
def show():
name = askstring("Input", "Enter you name")
print(name)
top.mainloop()