Crea una calculadora GUI con Python

PythonBeginner
Practicar Ahora

Introducción

En este proyecto, te guiaremos sobre cómo crear una calculadora GUI básica utilizando Python y la biblioteca tkinter. Esta calculadora será capaz de realizar operaciones aritméticas simples como suma, resta, multiplicación y división.

👀 Vista previa

Vista previa de la interfaz de la calculadora GUI

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo configurar la ventana principal de tkinter para la calculadora
  • Cómo agregar una función de cálculo para realizar operaciones aritméticas
  • Cómo crear un campo de entrada para que los usuarios ingresen números y vean los resultados
  • Cómo agregar botones para dígitos, operaciones aritméticas y función de borrado
  • Cómo ejecutar el bucle de eventos de tkinter para iniciar la calculadora

🏆 Logros

Después de completar este proyecto, serás capaz de:

  • Utilizar la biblioteca tkinter para crear una interfaz gráfica de usuario
  • Vincular funciones a botones para habilitar la interactividad
  • Realizar operaciones aritméticas básicas en Python
  • Mostrar y actualizar resultados utilizando un campo de entrada

Crea el archivo del proyecto

En primer lugar, crea un nuevo archivo de Python llamado labex_calculator.py. Este archivo contendrá el código de nuestra calculadora. Para crear el archivo, puedes utilizar la terminal o la interfaz gráfica de usuario de tu sistema operativo.

## Creando un nuevo archivo de Python
cd ~/proyecto
touch labex_calculator.py

Configura la ventana principal de Tkinter

Para comenzar a construir nuestra calculadora, abre el archivo labex_calculator.py en un editor de texto. El primer paso para crear nuestra interfaz gráfica de usuario (GUI) de la calculadora es crear una ventana principal. Lo haremos con la biblioteca tkinter.

## Importando la biblioteca tkinter
import tkinter as tk

## Creando la ventana principal de tkinter/toplevel
root = tk.Tk()
root.title('LabEx Calculator') ## Estableciendo el título de nuestra calculadora
root.geometry('400x600') ## Estableciendo el tamaño de nuestra calculadora
root.configure(background='light blue') ## Estableciendo el color de fondo de nuestra calculadora

Agrega una función de cálculo

Para que la calculadora pueda realizar operaciones aritméticas, define una función calculate.

def calculate(event):
    text = event.widget.cget('text') ## Obteniendo el texto del botón
    if text == '=':
        try:
            result = str(eval(entry.get())) ## Calcular el resultado
            entry.set(result) ## Establecer la entrada con el resultado
        except Exception as e:
            entry.set('Error') ## En caso de error, establecer la entrada en 'Error'
        return

    if text == 'C':
        entry.set('') ## Si se presiona 'C', limpiar la entrada
        return
    entry.set(entry.get() + text) ## Agregando el texto del botón presionado a la entrada

Crea un campo de entrada

Crea un campo de entrada para que los usuarios ingresen los números y vean los resultados de los cálculos.

entry = tk.StringVar()
entry.set('') ## Estableciendo la entrada inicial como una cadena vacía
entry1 = tk.Entry(root, textvar=entry, font='lucida 30 bold', bd=5, insertwidth=4, bg='powder blue', justify='right') ## Creando el campo de entrada
entry1.pack(fill=tk.X, ipadx=8, pady=10, padx=10) ## Posicionando el campo de entrada

Agrega botones

A continuación, agrega botones a la calculadora para dígitos, operaciones aritméticas y la función de limpiar.

button_frame = tk.Frame(root) ## Crea un marco para los botones
button_frame.pack() ## Agrega el marco a la ventana de tkinter

## Una lista para el texto de los botones
button_list = [
    '7', '8', '9', '/',
    '4', '5', '6', '*',
    '1', '2', '3', '-',
    '.', '0', '=', '+',
    '00', '000', 'C'
]

## Creando y posicionando los botones
i = 0
for btn_text in button_list:
    button = tk.Button(button_frame, text=btn_text, font='lucida 20 bold', bg='skyblue', padx=15, width=5)
    button.grid(row=int(i/4), column=i%4, padx=3, pady=3)
    i += 1
    button.bind('<Button-1>', calculate) ## Vinculando la función 'calculate' al botón

Ejecuta el proyecto

Finalmente, ejecutemos el bucle de eventos de tkinter para iniciar la calculadora.

root.mainloop()

Vaya al escritorio y ejecute el proyecto.

python labex_calculator.py

Interfaz de la aplicación de la calculadora

Resumen

¡Felicidades! Ahora has creado una calculadora GUI básica usando Python y la biblioteca tkinter. Puedes ejecutar tu calculadora ejecutando el script labex_calculator.py. En este proyecto, hemos cubierto la creación de una ventana de tkinter, la adición de una función de cálculo, la creación de un campo de entrada para la calculadora, la adición de botones para realizar operaciones aritméticas y la ejecución de la calculadora.

✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar✨ Revisar Solución y Practicar