crea una base de datos en tekinter donde la ventana muestre nombre edad y materia con botones para ditar cada uno de ellos
Aquí te muestro un ejemplo de cómo crear una base de datos en Tkinter con una ventana que muestre el nombre, edad y materia, y botones para editar cada uno de ellos: ```python import tkinter as tk from tkinter import ttk class BaseDeDatos: def __init__(self, root): self.root = root self.root.title("Base de Datos") self.root.geometry("300x200") # Crear etiquetas y campos de texto para mostrar la información self.nombre_label = tk.Label(self.root, text="Nombre:") self.nombre_label.grid(row=0, column=0, padx=5, pady=5) self.nombre_entry = tk.Entry(self.root, width=30) self.nombre_entry.grid(row=0, column=1, padx=5, pady=5) self.edad_label = tk.Label(self.root, text="Edad:") self.edad_label.grid(row=1, column=0, padx=5, pady=5) self.edad_entry = tk.Entry(self.root, width=30) self.edad_entry.grid(row=1, column=1, padx=5, pady=5) self.materia_label = tk.Label(self.root, text="Materia:") self.materia_label.grid(row=2, column=0, padx=5, pady=5) self.materia_entry = tk.Entry(self.root, width=30) self.materia_entry.grid(row=2, column=1, padx=5, pady=5) # Crear botones para editar la información self.editar_nombre_button = tk.Button(self.root, text="Editar Nombre", command=self.editar_nombre) self.editar_nombre_button.grid(row=0, column=2, padx=5, pady=5) self.editar_edad_button = tk.Button(self.root, text="Editar Edad", command=self.editar_edad) self.editar_edad_button.grid(row=1, column=2, padx=5, pady=5) self.editar_materia_button = tk.Button(self.root, text="Editar Materia", command=self.editar_materia) self.editar_materia_button.grid(row=2, column=2, padx=5, pady=5) # Crear etiquetas para mostrar la información self.nombre_mostrar_label = tk.Label(self.root, text="") self.nombre_mostrar_label.grid(row=3, column=0, columnspan=3, padx=5, pady=5) self.edad_mostrar_label = tk.Label(self.root, text="") self.edad_mostrar_label.grid(row=4, column=0, columnspan=3, padx=5, pady=5) self.materia_mostrar_label = tk.Label(self.root, text="") self.materia_mostrar_label.grid(row=5, column=0, columnspan=3, padx=5, pady=5) def editar_nombre(self): nombre = self.nombre_entry.get() self.nombre_mostrar_label.config(text=nombre) def editar_edad(self): edad = self.edad_entry.get() self.edad_mostrar_label.config(text=edad) def editar_materia(self): materia = self.materia_entry.get() self.materia_mostrar_label.config(text=materia) if __name__ == "__main__": root = tk.Tk() base_de_datos = BaseDeDatos(root) root.mainloop() ``` En este ejemplo, creamos una clase `BaseDeDatos` que se encarga de crear la ventana y los componentes necesarios. La ventana tiene campos de texto para ingresar el nombre, edad y materia, y botones para editar cada uno de ellos. Cuando se hace clic en un botón, se llama al método correspondiente para actualizar la etiqueta que muestra la información. Es importante destacar que en este ejemplo, la información se almacena en memoria y no se guarda en una base de datos externa. Si necesitas almacenar la información de manera persistente, debes utilizar una base de datos como MySQL, PostgreSQL, etc.