0% encontró este documento útil (0 votos)
324 vistas8 páginas

Guía Rápida de Tkinter en Python

La guía de acceso rápido de Tkinter ofrece una introducción a la creación de interfaces gráficas en Python, describiendo la estructura básica de una aplicación y los widgets comunes. También detalla métodos de colocación de widgets, configuración, manejo de eventos y diálogos predefinidos. Finalmente, se abordan técnicas avanzadas para el diseño de layouts utilizando el gestor de geometría grid.

Cargado por

Silvia Fernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
324 vistas8 páginas

Guía Rápida de Tkinter en Python

La guía de acceso rápido de Tkinter ofrece una introducción a la creación de interfaces gráficas en Python, describiendo la estructura básica de una aplicación y los widgets comunes. También detalla métodos de colocación de widgets, configuración, manejo de eventos y diálogos predefinidos. Finalmente, se abordan técnicas avanzadas para el diseño de layouts utilizando el gestor de geometría grid.

Cargado por

Silvia Fernandez
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Guía de Acceso Rápido de Tkinter

Tkinter es la biblioteca estándar de Python para crear interfaces gráficas de usuario (GUI). Esta
guía proporciona una visión general rápida de los conceptos y elementos más importantes de
Tkinter.

1. Estructura Básica de una Aplicación Tkinter

Toda aplicación Tkinter sigue una estructura básica:

import tkinter as tk # Importar Tkinter (generalmente se importa como tk)

# 1. Crear la ventana principal


root = [Link]() # Instancia de la clase Tk, la ventana principal

# 2. Crear y configurar widgets (botones, etiquetas, entradas de texto, etc.)


etiqueta = [Link](root, text="¡Hola, Tkinter!") # Crear una etiqueta
[Link]() # Colocar la etiqueta en la ventana

boton = [Link](root, text="Haz clic", command=mi_funcion) # Crear un botón


[Link]()

# 3. Iniciar el bucle de eventos


[Link]() # Bucle principal que mantiene la ventana abierta y responde a eventos
2. Widgets Comunes

Los widgets son los elementos de la interfaz de usuario. Aquí algunos de los más usados:

●​ Tk(): La ventana principal de la aplicación.


●​ Label: Muestra texto o imágenes.
●​ Button: Botón para realizar acciones. El argumento command especifica la función a
llamar al hacer clic.
●​ Entry: Campo de entrada de texto de una sola línea.
●​ Text: Área de texto multilínea.
●​ Frame: Contenedor para otros widgets, ayuda a organizarlos.
●​ Canvas: Para dibujar gráficos, formas, imágenes.
●​ Checkbutton: Botón de verificación para opciones de sí/no.
●​ Radiobutton: Botón de opción para elegir una opción de un grupo.
●​ Listbox: Muestra una lista de opciones.
●​ Menu: Menú de la ventana.
●​ Toplevel: Crea una ventana secundaria.
●​ ScrolledText: Área de texto con scrollbar integrado. Importar con: from tkinter
import scrolledtext
●​ ttk Widgets: Versiones tematizadas de los widgets estándar que se adaptan mejor al
estilo del sistema operativo. Ejemplo: [Link], [Link], [Link]. Importar
con from tkinter import ttk.
3. Métodos de Colocación de Widgets

Los "Geometry Managers" controlan cómo se colocan los widgets dentro de sus contenedores.

●​ pack(): Coloca los widgets en un orden simple, uno encima o al lado del otro.
○​ side: [Link], [Link], [Link], [Link] (posición).
○​ fill: [Link], tk.X, tk.Y, [Link] (cómo se expande el widget).
○​ expand: True o False (si el widget se expande para llenar el espacio extra).
○​ padx, pady: Añade espacio alrededor del widget.
●​ grid(): Coloca los widgets en una cuadrícula de filas y columnas.
○​ row, column: Fila y columna de la celda.
○​ rowspan, columnspan: Número de filas/columnas que ocupa el widget.
○​ sticky: tk.N, tk.S, tk.E, tk.W (alineación y estiramiento dentro de la celda).
Se pueden combinar, por ejemplo sticky=[Link] para pegar a la esquina
superior izquierda.
○​ padx, pady: Añade espacio alrededor del widget.
●​ place(): Coloca los widgets en una posición absoluta dentro de su contenedor.
○​ x, y: Coordenadas de la esquina superior izquierda del widget.
○​ relx, rely: Posiciones relativas (0 a 1) dentro del contenedor.
○​ width, height: Tamaño del widget.
○​ relwidth, relheight: Tamaño relativo del widget.
4. Configuración de Widgets

La apariencia y el comportamiento de los widgets se pueden personalizar mediante opciones


(también llamadas atributos o propiedades). Se configuran al crear el widget o después con el
método config().

etiqueta = [Link](root, text="Texto", fg="blue", font=("Arial", 12)) # Al crear


[Link](text="Nuevo Texto", bg="yellow") # Después, con config()

Opciones comunes:

●​ text: Texto a mostrar.


●​ bg, background: Color de fondo.
●​ fg, foreground, fg: Color del texto.
●​ font: Fuente del texto (nombre, tamaño, estilo).
●​ width, height: Tamaño del widget.
●​ padx, pady: Espacio alrededor del contenido del widget.
●​ relief: Estilo del borde ([Link], [Link], [Link], etc.).
●​ command: Función a llamar cuando se interactúa con el widget (ej., en un Button).
●​ variable: Para widgets como Checkbutton y Radiobutton, asocia una variable de
Tkinter.
●​ value: Valor del Radiobutton.
●​ state: Estado del widget ([Link], [Link], [Link]).
●​ wrap: Para widgets Text, controla cómo se ajusta el texto ([Link], [Link],
[Link]).
5. Variables de Tkinter

Tkinter tiene sus propias clases para manejar variables, que están integradas con los widgets:

●​ StringVar(): Para cadenas de texto.


●​ IntVar(): Para enteros.
●​ DoubleVar(): Para números de punto flotante.
●​ BooleanVar(): Para valores booleanos.

Métodos importantes:

●​ get(): Obtiene el valor de la variable.


●​ set(value): Establece el valor de la variable.

Ejemplo:

mi_variable = [Link]()
entrada = [Link](root, textvariable=mi_variable) # связываает Entry и переменную
[Link]()

def obtener_valor():
print("Valor:", mi_variable.get())

boton = [Link](root, text="Obtener valor", command=obtener_valor)


[Link]()
6. Eventos y Manejadores de Eventos

Tkinter responde a eventos (clics del ratón, pulsaciones de teclas, etc.). Los manejadores de
eventos son funciones que se ejecutan cuando ocurren esos eventos.

●​ bind(evento, manejador): Asocia un evento a un manejador para un widget.

Ejemplo:

def hacer_algo(event):
print("Clic en el botón en las coordenadas:", event.x, event.y)

boton = [Link](root, text="Haz clic aquí")


[Link]("<Button-1>", hacer_algo) # <Button-1> es clic izquierdo del ratón
[Link]()

Eventos comunes:

●​ <Button-1>: Clic izquierdo del ratón. <Button-2>: Clic central. <Button-3>: Clic
derecho.
●​ <KeyPress-nombreTecla>: Pulsación de una tecla (ej., <KeyPress-a>,
<KeyPress-Enter>). <KeyRelease>
●​ "<Return>": Pulsación de la tecla Enter.
●​ "<Configure>": El widget cambia de tamaño.
●​ "<Destroy>": El widget es destruido.
7. Diálogos Comunes

Tkinter proporciona diálogos predefinidos para tareas comunes:

●​ messagebox: Para mostrar mensajes (informativos, de advertencia, de error, etc.).


○​ showinfo(), showwarning(), showerror(), askyesno(),
askokcancel(), etc.
●​ filedialog: Para abrir y guardar archivos.
○​ askopenfilename(), asksaveasfilename().
●​ colorchooser: Para elegir un color.
○​ askcolor()

Ejemplo:

from tkinter import messagebox

def mostrar_mensaje():
[Link]("Título", "Este es un mensaje informativo.")

boton = [Link](root, text="Mostrar mensaje", command=mostrar_mensaje)


[Link]()
8. Layout con Grid y Pesos

Para un control más avanzado sobre el layout, especialmente al redimensionar la ventana, se


usa grid junto con columnconfigure y rowconfigure.

[Link](0, weight=1) # La columna 0 se expande


[Link](0, weight=1) # La fila 0 se expande

frame = [Link](root)
[Link](column=0, row=0, sticky=(tk.N, tk.W, tk.E, tk.S)) # El frame se expande

# Los widgets dentro del frame también pueden usar grid y sticky para expandirse.
boton1 = [Link](frame, text="Botón 1")
[Link](column=0, row=0, sticky=(tk.N, tk.W, tk.E, tk.S))
boton2 = [Link](frame, text="Botón 2")
[Link](column=1, row=0, sticky=(tk.N, tk.W, tk.E, tk.S))

[Link](0, weight=1)
[Link](1, weight=1)
[Link](0, weight=1)

Esto hace que las columnas y filas se expandan al redimensionar la ventana, y el argumento
sticky hace que los widgets se estiren para llenar el espacio disponible en sus celdas.

También podría gustarte