Я не эксперт в python и мне нужна помощь в управлении классами в python и GUI (Tkinter). У меня есть 3 файла с 3 разными классами (класс Validacion, класс Ventana, класс Ejecutar) и нужно сделать запрос с моей базой данных, я получаю сообщение об ошибке «У объекта« Validacion »нет атрибута« _tk »». это мой код:
from tkinter import *
from Ventana import *
from tkinter import messagebox
class Validacion:
miidvendedor = StringVar
minombrevendedor = StringVar
def __init__ (self):
self.validacion = Tk()
self.validacion.title("Inventario")
self.validacion.geometry("400x200")
self.validacion.resizable(0, 0)
self.validacion.iconbitmap("icono.ico")
self.validacion.config(background='lavender')
self.miFrame = Frame(self.validacion)
self.miFrame.pack()
self.miFrame.config(backgroun='lavender')
cuadronombrevendedor = Entry(self.miFrame, textvariable=self.minombrevendedor)
cuadronombrevendedor.grid(row=0, column=1, sticky="w", padx=10, pady=10)
cuadroidvendedor = Entry(self.miFrame, textvariable=self.miidvendedor)
cuadroidvendedor.config(show="*")
cuadroidvendedor.grid(row=1, column=1,sticky="w", padx=10, pady=10)
mensajenombre = Label(self.miFrame, text="Nombre Vendedor:")
mensajenombre.config(bg='lavender', font=("Bodoni MT", 14))
mensajenombre.grid(row=0, column=0,sticky="nsew", padx=10, pady=10)
mensajeid = Label(self.miFrame, text="ID Vendedor:")
mensajeid.config(bg='lavender', font=("Bodoni MT", 14))
mensajeid.grid(row=1, column=0, sticky="nsew", padx=10, pady=10)
enter = Button(self.miFrame, text="Enter", bg="gray30", fg="white", command=self.validar)
enter.grid(row=2, column=1, sticky="nsew",padx=10, pady=10 )
self.validacion.mainloop()
def validar(self):
try:
id = self.miidvendedor.get(self)
nombre = self.minombrevendedor.get(self)
connectiondb = pymysql.Connection(host=HOST, port=PORT, user=USER, passwd=PASSWORD, db=DB,)
micursor = connectiondb.cursor()
query = "SELECT * FROM vendedor WHERE idvendedor = '%s'" % id
micursor.execute(query)
tupla = micursor.fetchall()
for i in tupla:
if i[1] == nombre:
objeto = Ventana()
self.validacion.withdraw()
else:
messagebox.showerror("Error","Datos erroneos")
connectiondb.commit()
micursor.close()
connectiondb.close()
except Exception as e:
messagebox.showerror("Conection Data Base", e)```