0 calificaciones0% 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.
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0 calificaciones0% 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.
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