У меня есть программа с классом main и функциями, первая из них - __init__
с аргументами self
и master
. Это начинается с окна входа в систему, поэтому я хочу уничтожить эту функцию __init__
, но я нуб в этом и не могу: // Я попытался self.master.destroy()
, и все исчезло, но все еще одно пустое окно показывало. Кто-нибудь может мне помочь?
from tkinter import *
from tkinter import messagebox as ms
from PIL import Image, ImageTk
import os
import time
import pymysql
root = Tk()
root.title('Sistema de Senhas')
root.configure(background='white')
class main:
def __init__(self,master):
self.master = master
self.username = StringVar()
self.password = StringVar()
self.logf = Frame(self.master,padx =10,pady = 10, bg='white')
Label(self.logf,text = 'Utilizador: ',font = ('Corbel bold',13), bg= 'white',pady=5,padx=5).grid(sticky = W)
Entry(self.logf,textvariable = self.username,bd = 2,font = ('Corbel bold',11)).grid(row=0,column=1)
Label(self.logf,text = 'Palavra-passe: ',font = ('Corbel bold',13), bg= 'white',pady=5,padx=5).grid(sticky = W)
Entry(self.logf,textvariable = self.password,bd = 2,font = ('Corbel bold',11),show = '*').grid(row=1,column=1)
self.logf.pack()
self.button = Button(self.master,text = 'Entrar',bd = 2 ,font = ('Corbel bold',12), relief='groove', bg= 'white',padx=5,pady=2,command=self.login)
self.button.pack()
def login(self):
utilizador=self.username.get()
password=self.password.get()
self.connection = pymysql.connect(host="localhost", user="root", passwd="", database="sistemasenhas")
self.cur = self.connection.cursor()
query="SELECT * FROM utilizadores WHERE nome=%s AND password=%s"
data=self.cur.execute(query,(utilizador,password))
if(len(self.cur.fetchall())>0):
query="SELECT * FROM utilizadores WHERE nome=%s AND password=%s AND acesso=0"
data=self.cur.execute(query,(utilizador,password))
if(len(self.cur.fetchall())>0):
master.destroy() # It's here
self.janela()
else:
master.destroy() It's here
self.admin()
else:
ms.showerror('Oops','Utilizador ou palavra-passe incorretos!')