📘 Introducción
¿Quieres aprender a crear interfaces gráficas con Python? Una excelente forma de comenzar es construyendo una aplicación de notas con Tkinter, el módulo nativo de Python para GUIs.
Esta guía te enseña cómo crear una app de notas funcional paso a paso, ideal para practicar programación orientada a objetos e interfaces gráficas.
🧰 Requisitos Previos
- Python 3 instalado
- Módulo
tkinter(ya viene con Python) - Conocimientos básicos de programación
📂 Estructura del Proyecto
Todo el código estará contenido en un solo archivo Python:
notas_app.py
💻 Código Fuente Completo
import tkinter as tk
from tkinter import messagebox, filedialog
class AppNotas:
def __init__(self, root):
self.root = root
self.root.title("Bloc de Notas - Python")
self.root.geometry("600x400")
self.texto = tk.Text(self.root, wrap="word")
self.texto.pack(fill="both", expand=True)
self.crear_menu()
def crear_menu(self):
menubar = tk.Menu(self.root)
self.root.config(menu=menubar)
archivo_menu = tk.Menu(menubar, tearoff=0)
archivo_menu.add_command(label="Nuevo", command=self.nuevo_archivo)
archivo_menu.add_command(label="Abrir", command=self.abrir_archivo)
archivo_menu.add_command(label="Guardar", command=self.guardar_archivo)
archivo_menu.add_separator()
archivo_menu.add_command(label="Salir", command=self.root.quit)
menubar.add_cascade(label="Archivo", menu=archivo_menu)
def nuevo_archivo(self):
self.texto.delete(1.0, tk.END)
def abrir_archivo(self):
archivo = filedialog.askopenfilename(defaultextension=".txt",
filetypes=[("Archivos de texto", "*.txt")])
if archivo:
with open(archivo, "r") as f:
contenido = f.read()
self.texto.delete(1.0, tk.END)
self.texto.insert(tk.END, contenido)
def guardar_archivo(self):
archivo = filedialog.asksaveasfilename(defaultextension=".txt",
filetypes=[("Archivos de texto", "*.txt")])
if archivo:
with open(archivo, "w") as f:
f.write(self.texto.get(1.0, tk.END))
messagebox.showinfo("Guardado", "Archivo guardado correctamente.")
if __name__ == "__main__":
root = tk.Tk()
app = AppNotas(root)
root.mainloop()
✨ Características de la App
- Crear un nuevo archivo
- Abrir archivos
.txt - Guardar notas escritas
- Interfaz gráfica amigable
🧠 Lo Que Aprendiste
- Cómo usar
Tkinterpara crear interfaces gráficas en Python - Cómo trabajar con cajas de texto (
Text) - Cómo usar
Menu,messageboxyfiledialog - Estructura básica de una app de escritorio
🔐 Mejora Opcional
Agrega funciones como:
- Guardado automático
- Notas con pestañas
- Encriptación con
cryptographysi deseas seguridad