📝 Cómo Crear una App de Notas con Python y Tkinter

Comparte

📘 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 Tkinter para crear interfaces gráficas en Python
  • Cómo trabajar con cajas de texto (Text)
  • Cómo usar Menu, messagebox y filedialog
  • Estructura básica de una app de escritorio

🔐 Mejora Opcional

Agrega funciones como:

  • Guardado automático
  • Notas con pestañas
  • Encriptación con cryptography si deseas seguridad




codigo fuente gratis