En este tutorial, aprenderás cómo crear una calculadora utilizando Tkinter y programación orientada a objetos (POO) en Python. Tkinter es una biblioteca GUI estándar de Python que se utiliza para crear interfaces de usuario para aplicaciones de escritorio. Utilizaremos POO para organizar y estructurar nuestro código de una manera más modular y mantenible.
Paso 1: Instalar Tkinter
Primero, asegúrate de tener Tkinter instalado en tu sistema. Tkinter viene preinstalado con las versiones estándar de Python, por lo que generalmente no es necesario instalarlo por separado.
Paso 2: Crear una clase Calculadora
Empezaremos creando una clase llamada Calculadora que contendrá los métodos necesarios para realizar operaciones matemáticas básicas como suma, resta, multiplicación y división.
import tkinter as tk
class Calculadora:
def __init__(self, root):
self.root = root
self.root.title("Calculadora")
self.expresion = ""
# Pantalla
self.pantalla = tk.Entry(self.root, width=20, font=('Arial', 16))
self.pantalla.grid(row=0, column=0, columnspan=4)
# Botones
botones = [
'7', '8', '9', '/',
'4', '5', '6', '*',
'1', '2', '3', '-',
'C', '0', '=', '+'
]
row = 1
col = 0
for boton_texto in botones:
tk.Button(self.root, text=boton_texto, width=5, command=lambda text=boton_texto: self.presionar_boton(text)).grid(row=row, column=col)
col += 1
if col > 3:
col = 0
row += 1
def presionar_boton(self, texto):
if texto == 'C':
self.expresion = ""
elif texto == '=':
try:
resultado = eval(self.expresion)
self.expresion = str(resultado)
except:
self.expresion = "Error"
else:
self.expresion += texto
self.actualizar_pantalla()
def actualizar_pantalla(self):
self.pantalla.delete(0, tk.END)
self.pantalla.insert(0, self.expresion)
if __name__ == '__main__':
root = tk.Tk()
app = Calculadora(root)
root.mainloop()
En este código, creamos una clase Calculadora con un constructor __init__
que inicializa la ventana de la calculadora, la pantalla de la calculadora y los botones necesarios para realizar operaciones matemáticas. También definimos los métodos presionar_boton
para manejar la lógica cuando se presiona un botón y actualizar_pantalla
para actualizar la pantalla de la calculadora con la expresión actual.
Paso 3: Ejecutar la calculadora
Crea una instancia de la clase Calculadora y ejecuta la aplicación llamando al método mainloop()
en la instancia de tkinter root
.
if __name__ == '__main__':
root = tk.Tk()
app = Calculadora(root)
root.mainloop()
¡Y listo! Ahora deberías tener una calculadora funcional creada con Tkinter y POO en Python. Puedes personalizar la apariencia de la calculadora ajustando el tamaño de las fuentes, colores y disposición de los elementos según tus preferencias. ¡Diviértete creando y personalizando tu propia calculadora!
Buenas noches. Cuando estoy programando la parte del resultado me sale error.
IndentationEror:unexpected unindent
muy bueno el código y con POO…. como siempre excelente
Muchas gracias compañero. Gran trabajo.
Buenísimo! muy buena explicación, muchas gracias!!!!!