0% encontró este documento útil (0 votos)
0 vistas

Tkinter para Python

El documento describe la creación de una calculadora y un generador de números aleatorios utilizando Tkinter en Python. La calculadora permite realizar operaciones básicas y maneja errores de entrada, mientras que el generador crea N números aleatorios, mostrando su suma y promedio en una interfaz gráfica. Se explican los componentes y métodos utilizados, como Label, Entry, Combobox y Listbox, así como la estructura orientada a objetos del código.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas

Tkinter para Python

El documento describe la creación de una calculadora y un generador de números aleatorios utilizando Tkinter en Python. La calculadora permite realizar operaciones básicas y maneja errores de entrada, mientras que el generador crea N números aleatorios, mostrando su suma y promedio en una interfaz gráfica. Se explican los componentes y métodos utilizados, como Label, Entry, Combobox y Listbox, así como la estructura orientada a objetos del código.
Derechos de autor
© © All Rights Reserved
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 26

Tkinter para Python

Magister Víctor Andrade Soto


Interface
Código
Descripción:
El programa tiene dos campos de texto para ingresar los dos números.
Un combobox te permite seleccionar la operación que deseas realizar:
"Suma", "Resta", "Multiplicación" o "División".
Cuando presionas el botón "Calcular", se realiza la operación
seleccionada y se muestra el resultado en la ventana.
Si se ingresa un valor no numérico o se intenta dividir por cero, el
programa muestra un mensaje de error apropiado.
Orientado a objetos
Explicación del código:
Clase Calculadora:
Constructor (__init__): Se encarga de inicializar los elementos de la
interfaz gráfica. Recibe como parámetro la ventana root y llama al
método iniciar_componentes() para configurar los widgets.
Método iniciar_componentes: Configura y coloca los widgets en la
ventana (entradas, botones, etiquetas).
Método calcular: Realiza las operaciones basadas en la entrada del
usuario, valida que los valores sean correctos y muestra el resultado o
un mensaje de error.
Función main():
Crea la ventana principal (root) de Tkinter.
Crea una instancia de la clase Calculadora y la pasa la ventana root.
Llama a root.mainloop() para que la interfaz se mantenga abierta.
Condicional if __name__ == "__main__"::
Asegura que la función main() solo se ejecute cuando el script sea
ejecutado directamente, no cuando sea importado como módulo.
Componentes y métodos empleados
Label:
Qué es: Es un widget en Tkinter que se utiliza para mostrar texto en la interfaz
gráfica.
Uso: Generalmente se usa para mostrar mensajes o títulos estáticos en la
ventana.
Ejemplo de uso:
label_num1 = tk.Label(root, text="Número 1:")
label_num1.grid(row=0, column=0)
En este caso, se crea un Label llamado label_num1, y el texto que se muestra es
"Número 1:". Luego, se coloca en la posición (0, 0) de la ventana utilizando el
método grid.
Entry:
Qué es: Es un widget en Tkinter utilizado para permitir al usuario
ingresar texto o datos.
Uso: Comúnmente se usa para crear campos de entrada donde los
usuarios pueden introducir datos, como números o cadenas de texto.
Ejemplo de uso:
entry_num1 = tk.Entry(root)
entry_num1.grid(row=0, column=1)
En este caso, se crea un campo de entrada (Entry) llamado
entry_num1, en el que el usuario puede escribir algo. Luego se
posiciona en la ventana usando el método grid en la fila 0, columna 1.
grid:
Qué es: Es un método de los widgets en Tkinter que permite
colocar los elementos en la ventana siguiendo un sistema de rejilla
o cuadrícula.
Uso: Se utiliza para organizar los widgets en filas y columnas, como
si fueran celdas de una tabla.
Ejemplo de uso:
label_num1.grid(row=0, column=0)
entry_num1.grid(row=0, column=1)
En este ejemplo:
label_num1 se coloca en la primera fila (fila 0), columna 0.
entry_num1 se coloca en la fila 0, columna 1.
La función grid() coloca los elementos de manera que se alineen en
una rejilla de filas y columnas. Esto es útil para mantener los
widgets ordenados.
Combobox:
Qué es: Es un widget en Tkinter que combina un cuadro de texto con una lista desplegable.
Permite que el usuario elija una opción de una lista o también ingrese su propio texto.
Uso: Se utiliza cuando necesitas que el usuario seleccione una opción de un conjunto
predefinido de opciones (o escribir una opción si es necesario).
Ejemplo de uso:
combo_operacion = ttk.Combobox(root, values=["Suma", "Resta", "Multiplicación",
"División"])
combo_operacion.grid(row=2, column=1)
combo_operacion.set("Suma")
En este caso:
Se crea un Combobox llamado combo_operacion con las opciones de operaciones
matemáticas: "Suma", "Resta", "Multiplicación", "División".
Se coloca en la fila 2 y columna 1 de la ventana utilizando grid().
El método set("Suma") establece el valor predeterminado del combobox, lo que significa
que la operación seleccionada inicialmente será "Suma".
get:
Qué es: El método get() se utiliza para obtener el valor o texto que el
usuario ha ingresado en un widget, como un Entry o un Combobox.
Uso: Lo utilizas para recuperar el texto o la selección actual del widget.
Ejemplo de uso:
operacion = combo_operacion.get()
Aquí, el método get() recupera el valor seleccionado en el Combobox
llamado combo_operacion. Este valor es una de las opciones: "Suma",
"Resta", "Multiplicación", o "División".
config:
Qué es: El método config() en Tkinter se utiliza para modificar las
opciones o propiedades de un widget después de que ha sido creado.
Uso: Es útil cuando necesitas actualizar las propiedades de un widget,
como cambiar su texto, color, o tamaño después de la inicialización.
Ejemplo de uso:
label_resultado.config(text="Resultado: " + str(resultado))
Aquí, el método config() cambia el texto del widget label_resultado. El
nuevo texto es una cadena que incluye el resultado de la operación
calculada. Es común utilizar config() para actualizar el contenido de las
etiquetas (Label), botones (Button), entre otros.
mainloop:
Qué es: El método mainloop() es el bucle principal de Tkinter que
mantiene la aplicación gráfica en ejecución.
Uso: Este método es esencial, ya que hace que la ventana de la
aplicación se quede abierta, esperando y respondiendo a eventos
(como clics de botones, entradas de texto, etc.).
Ejemplo de uso:
root.mainloop()
El mainloop() se debe llamar al final del programa para que la
aplicación permanezca activa y responda a las interacciones del
usuario. Sin él, la ventana se cerraría inmediatamente después de
ejecutarse el código.
Problema 2
hacer un programa python para el IDE Thonny Python usando tkinter
que permita generar N números aleatorios (está cantidad se debe pedir
a través de un Entry). Los números generados deben mostrarse en un
listBox. Debe mostrar la suma y promedio de dichos números.
Interface
Código
Explicación del código:
Interfaz de usuario con Tkinter:
Se crea una ventana con un Entry donde el usuario puede ingresar el
número de elementos que quiere generar.
Se tiene un botón que, al hacer clic, ejecuta la función
generar_numeros().
Un Listbox para mostrar los números generados.
Dos etiquetas (Label) para mostrar la suma y el promedio de los
números generados.
Función generar_numeros:
Lee el valor ingresado en el Entry (la cantidad de números aleatorios).
Luego genera los números aleatorios y los muestra en el Listbox.
Calcula la suma de los números generados.
Calcula el promedio y muestra ambos valores en las etiquetas
correspondientes.
Manejo de errores:
Si el valor ingresado no es un número válido, se muestra un mensaje de
error en la interfaz.
Frame para el Listbox y la barra de desplazamiento:
He creado un Frame (contenedor) para incluir tanto el Listbox como la
barra de desplazamiento.
Esto ayuda a mantener la organización del layout.
Scrollbar:
Se ha añadido un Scrollbar que se posiciona a la derecha del Listbox.
La opción yscrollcommand=scrollbar.set en el Listbox vincula el Listbox
con la barra de desplazamiento.
La barra de desplazamiento se configura con
scrollbar.config(command=listbox.yview) para controlar el
desplazamiento vertical del Listbox.
Orientado a Objetos

También podría gustarte