
ayuda,no se que hacer
Publicado por el mongi (3 intervenciones) el 14/03/2023 16:52:17
siendo un amateur en programacion,debo decir que no se muy bien lo que hice.
el problema que tengo es que, a la hora de hacer un boton para enviar la informacion de un cuadro de texto a un excel, me salta el error de que no he definido que es "ed" y sus continuaciones : "ed1", "ed2",etc(el nombre que le di a una entrada de datos). Podran ver que la ventana en la que se recopila informacion es una ventana secundaria que abre con la funcion de un boton(esto lo digo por si ese es el motivo de porque me salta el error).
import tkinter as tk
from tkinter import END, StringVar, ttk
#creando funcion del boton para cerrar todo
def cerrar():
ventana_principal.destroy()ventana_princioal
#creando funcion del boton para enviar la informacion de reinscripcion a un excel
def enviar():
nombre_estudiante =ed.get()
ID_estudiante = ed1.get()
nombre_padre =ed2.get()
cedula_padre =ed3.get()
telefono =ed4.get()
print(nombre_estudiante, "\t", ID_estudiante, "\t", nombre_padre, "\t", cedula_padre, "\t", telefono, "\t")
archivo = open("registro.xlsx", "a")
archivo.write(nombre_estudiante)
archivo.write("\t")
archivo.write(ID_estudiante)
archivo.write("\t")
archivo.write(nombre_padre)
archivo.write("\t")
archivo.write(cedula_padre)
archivo.write("\t")
archivo.write(telefono)
archivo.write("\n")
archivo.close()
ed.delete(0,tk.END)
ed1.delete(0,tk.END)
ed2.delete(0,tk.END)
ed3.delete(0,tk.END)
ed4.delete(0,tk.END)
ed5.delete(0,tk.END)
#creando la funcion para el boton que abre la ventana de reinscripciones
def abrir_ventana_de_reinscripciones():
vn = tk.Toplevel()
vn.title("formulario de reinscripción")
vn.geometry("400x300")
vn.configure(background="dark green")
vn.resizable(False,False)
n_estudiante = StringVar()
id_estudiante = StringVar ()
direccion = StringVar()
fecha_nacimiento = StringVar()
n_padre = StringVar()
c_padre = StringVar()
tel_padre = StringVar()
#insertar etiquetas y cuadros de texto.
e=tk.Label(vn, text="Nombre de estudiante", bg="gray", fg="white")
e.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
#creando los cuadros de texto que almacenan información
ed=tk.Entry(vn, textvariable=n_estudiante)
ed.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
e1=tk.Label(vn, text="ID de estudiante", bg="gray", fg="white")
e1.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
ed1=tk.Entry(vn, textvariable=id_estudiante)
ed1.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
e2=tk.Label(vn, text="Nombre de padre/madre/tutor", bg="gray", fg="white")
e2.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
ed2=tk.Entry(vn, textvariable=n_padre)
ed2.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
e3=tk.Label(vn, text="Cedula de padre/madre/tutor", bg="gray", fg="white")
e3.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
ed3=tk.Entry(vn, textvariable=c_padre)
ed3.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
e4=tk.Label(vn, text="Telefono de padre/madre/tutor", bg="gray", fg="white")
e4.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
ed4=tk.Entry(vn, textvariable=tel_padre)
ed4.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
vn.grab_set()
vn.focus()
#Botones
boton=ttk.Button(vn, text="Enviar información", command=enviar)
boton.pack(side=tk.RIGHT)
boton2=ttk.Button(vn, text="Salir", command=cerrar)
boton2.pack(side=tk.LEFT)
el problema que tengo es que, a la hora de hacer un boton para enviar la informacion de un cuadro de texto a un excel, me salta el error de que no he definido que es "ed" y sus continuaciones : "ed1", "ed2",etc(el nombre que le di a una entrada de datos). Podran ver que la ventana en la que se recopila informacion es una ventana secundaria que abre con la funcion de un boton(esto lo digo por si ese es el motivo de porque me salta el error).
import tkinter as tk
from tkinter import END, StringVar, ttk
#creando funcion del boton para cerrar todo
def cerrar():
ventana_principal.destroy()ventana_princioal
#creando funcion del boton para enviar la informacion de reinscripcion a un excel
def enviar():
nombre_estudiante =ed.get()
ID_estudiante = ed1.get()
nombre_padre =ed2.get()
cedula_padre =ed3.get()
telefono =ed4.get()
print(nombre_estudiante, "\t", ID_estudiante, "\t", nombre_padre, "\t", cedula_padre, "\t", telefono, "\t")
archivo = open("registro.xlsx", "a")
archivo.write(nombre_estudiante)
archivo.write("\t")
archivo.write(ID_estudiante)
archivo.write("\t")
archivo.write(nombre_padre)
archivo.write("\t")
archivo.write(cedula_padre)
archivo.write("\t")
archivo.write(telefono)
archivo.write("\n")
archivo.close()
ed.delete(0,tk.END)
ed1.delete(0,tk.END)
ed2.delete(0,tk.END)
ed3.delete(0,tk.END)
ed4.delete(0,tk.END)
ed5.delete(0,tk.END)
#creando la funcion para el boton que abre la ventana de reinscripciones
def abrir_ventana_de_reinscripciones():
vn = tk.Toplevel()
vn.title("formulario de reinscripción")
vn.geometry("400x300")
vn.configure(background="dark green")
vn.resizable(False,False)
n_estudiante = StringVar()
id_estudiante = StringVar ()
direccion = StringVar()
fecha_nacimiento = StringVar()
n_padre = StringVar()
c_padre = StringVar()
tel_padre = StringVar()
#insertar etiquetas y cuadros de texto.
e=tk.Label(vn, text="Nombre de estudiante", bg="gray", fg="white")
e.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
#creando los cuadros de texto que almacenan información
ed=tk.Entry(vn, textvariable=n_estudiante)
ed.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
e1=tk.Label(vn, text="ID de estudiante", bg="gray", fg="white")
e1.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
ed1=tk.Entry(vn, textvariable=id_estudiante)
ed1.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
e2=tk.Label(vn, text="Nombre de padre/madre/tutor", bg="gray", fg="white")
e2.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
ed2=tk.Entry(vn, textvariable=n_padre)
ed2.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
e3=tk.Label(vn, text="Cedula de padre/madre/tutor", bg="gray", fg="white")
e3.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
ed3=tk.Entry(vn, textvariable=c_padre)
ed3.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
e4=tk.Label(vn, text="Telefono de padre/madre/tutor", bg="gray", fg="white")
e4.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
ed4=tk.Entry(vn, textvariable=tel_padre)
ed4.pack(padx=0, pady=0, ipadx=0, ipady=0, fill=tk.X)
vn.grab_set()
vn.focus()
#Botones
boton=ttk.Button(vn, text="Enviar información", command=enviar)
boton.pack(side=tk.RIGHT)
boton2=ttk.Button(vn, text="Salir", command=cerrar)
boton2.pack(side=tk.LEFT)
Valora esta pregunta


0