首页 > 解决方案 > 使用 tkinter [登录页面] 中的条目检查外部文件

问题描述

我目前正在处理一项学校作业,该作业要求用户必须使用来自外部文件 logininfo.txt 的凭据登录,然后允许用户玩骰子游戏,但我在设置 tkinter 来处理该程序时遇到了困难。我之前制作了一段代码[运行良好]来检查登录详细信息,但现在在处理 GUI 时它不再工作;本质上,我需要知道最后一段代码(包括和后面with open('logininfo.txt') as file: )在主循环内(或外)工作,所以每当你点击登录和validateLogin运行时,程序还会检查外部文件中的 search_word,如果找到用户则返回。在输入凭据之前,它会打印语句的 else 。(我还删除了一些我认为这个问题不需要的代码)如果答案很明显,这是我第一次不得不使用 tkinter 道歉!感谢您的时间。

def validateLogin(username, password):
    print("username entered :", username.get())
    print("password entered :", password.get())
    return


tkWindow = Tk()  
    tkWindow.geometry('400x150')  
    tkWindow.title('Dice game---Login Page')

#username label and text entry box
usernameLabel = Label(tkWindow, text="UserName").grid(row=0, column=0)
username = StringVar()
usernameEntry = Entry(tkWindow, textvariable=username).grid(row=0, column=1)  

#password label and password entry box
passwordLabel = Label(tkWindow,text="Password").grid(row=1, column=0)  
password = StringVar()
passwordEntry = Entry(tkWindow, textvariable=password, show='*').grid(row=1, column=1)  

validateLogin = partial(validateLogin, username, password)

#login button
loginButton = Button(tkWindow, text="Login", command=validateLogin).grid(row=4, column=0)

with open('logininfo.txt') as file:
        contents = file.read()
        lookup = username
        search_word = str(lookup)
        if search_word in contents:
            print ('user found!')
        else:
            print ('user not found. would you like to sign up?')

tkWindow.mainloop()

标签: python-3.xtkintertkinter-entry

解决方案


推荐阅读