Я пытаюсь создать форму для входа в tkinter, предполагается, что программа позволяет существующим пользователям вводить свое имя пользователя в поле ввода и свой пароль в поле ввода, затем python должен прочитать значения, хранящиеся в файле CSV, и затем проверьте правильность имени пользователя и пароля, затем они используют кнопку отправки, которая проверит, верны ли учетные данные и верны ли они; это позволит им перейти к следующему кадру. Я не уверен, как заставить это работать должным образом, потому что кнопка отправки ничего не делает.
Вот мой код:
class MainMenu(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.controller = controller
label = tk.Label(self, text=" Main Menu - Login ", fg="red", font=controller.title_font2)
label.pack(side="top", fill="x", pady=20)
usernameL = tk.Label(self, text="Username").pack(side="top")
uUserLogin = tk.Entry(self)
uUserLogin.pack()
passwordL = tk.Label(self, text="Password").pack(side="top")
uUserPassword = tk.Entry(self)
uUserPassword.pack()
def checkUser():
uLoginUser = False
uLoginPassword = False
uUserCheck = uUserLogin.get()
uUserCheckP = uUserPassword.get()
with open("Users.csv", "r") as f:
csvreader = csv.reader(f, delimiter=",")
for row in csvreader:
if uUserCheck == row[0]:
uLoginUser == True
if uUserCheckP == row[1]:
uLoginPassword == True
#labelT = tk.Label(self, text="Hello")
#labelT.pack()
if uLoginUser and uLoginPassword == True:
controller.show_frame("MainTMenu")
submit = tk.Button(self, text="Submit",
command=checkUser())
submit.pack()
#If correct -> Go to next frame
Файл csv размещен с первой строкой, состоящей из 2 заголовков - в первом столбце указано «Пользователи», а во втором столбце - «Пароли» - остальные строки содержат пользователей и пароли в правильных столбцах и в правильных строках. .
Это может помочь понять формат (если я плохо объяснил):
Users, Passwords
user, password
user, password
Любая помощь будет высоко ценится