generar con tkinter pantalla para que el usuario imgrese Rut(10) caracteres, Nombre(35)caracteres, Direccion(25)caracteres, validar para digitar solo mayusculas, tamaño pantalla con relacion a los datos que se van a ingresar, gregar boton salida
Aquí te muestro un ejemplo de cómo podrías crear una pantalla con tkinter para que el usuario ingrese los datos solicitados: ```python import tkinter as tk from tkinter import messagebox class Aplicacion: def __init__(self, root): self.root = root self.root.title("Registro de datos") self.root.geometry("400x300") # Tamaño de la pantalla # Crear etiquetas y campos de texto self.etiqueta_rut = tk.Label(root, text="Rut:") self.etiqueta_rut.grid(row=0, column=0, padx=5, pady=5) self.rut = tk.Entry(root, width=20) self.rut.grid(row=0, column=1, padx=5, pady=5) self.etiqueta_nombre = tk.Label(root, text="Nombre:") self.etiqueta_nombre.grid(row=1, column=0, padx=5, pady=5) self.nombre = tk.Entry(root, width=35) self.nombre.grid(row=1, column=1, padx=5, pady=5) self.etiqueta_direccion = tk.Label(root, text="Dirección:") self.etiqueta_direccion.grid(row=2, column=0, padx=5, pady=5) self.direccion = tk.Entry(root, width=25) self.direccion.grid(row=2, column=1, padx=5, pady=5) # Crear botón de salida self.boton_salida = tk.Button(root, text="Salir", command=self.salir) self.boton_salida.grid(row=3, column=0, columnspan=2, padx=5, pady=5) # Crear botón de registro self.boton_registro = tk.Button(root, text="Registrar", command=self.registrar) self.boton_registro.grid(row=4, column=0, columnspan=2, padx=5, pady=5) def validar_rut(self): rut = self.rut.get() if len(rut) != 10 or not rut.isalpha(): messagebox.showerror("Error", "Rut inválido. Debe ser un número de 10 dígitos.") return False return True def validar_nombre(self): nombre = self.nombre.get() if len(nombre) > 35: messagebox.showerror("Error", "Nombre demasiado largo. Debe ser de máximo 35 caracteres.") return False return True def validar_direccion(self): direccion = self.direccion.get() if len(direccion) > 25: messagebox.showerror("Error", "Dirección demasiado larga. Debe ser de máximo 25 caracteres.") return False return True def validar_mayusculas(self): rut = self.rut.get() nombre = self.nombre.get() direccion = self.direccion.get() if not rut.isalpha() or not nombre.isalpha() or not direccion.isalpha(): messagebox.showerror("Error", "Solo se permiten letras mayúsculas.") return False return True def registrar(self): if self.validar_rut() and self.validar_nombre() and self.validar_direccion() and self.validar_mayusculas(): messagebox.showinfo("Registro exitoso", "Los datos han sido registrados con éxito.") else: messagebox.showerror("Error", "Por favor, revise los errores y vuelva a intentarlo.") def salir(self): self.root.destroy() if __name__ == "__main__": root = tk.Tk() app = Aplicacion(root) root.mainloop() ``` Este código crea una pantalla con tkinter que solicita al usuario que ingrese su Rut, nombre y dirección. Los campos de texto tienen un tamaño determinado para que se ajusten a la cantidad de caracteres que se pueden ingresar. El botón de salida cierra la aplicación, mientras que el botón de registro verifica que los datos ingresados sean válidos y, si lo son, muestra un mensaje de confirmación. Si los datos no son válidos, muestra un mensaje de error.