Python Tkinter GUI program:SyntaxError:无效语法?

2024-09-30 12:27:41 发布

您现在位置:Python中文网/ 问答频道 /正文

因此,我对python或编程并不陌生,但仍在学习python。我正在为我和我的一些朋友制定一个计划。当我在为登录屏幕制作GUI和代码时,我的一个函数不断出现语法错误。我不知道是什么原因造成的。如果有人能提供一些帮助,我们将不胜感激。p、 我将只发布我一直有错误的部分,并且只发布我认为有必要帮助显示发生了什么,如果有帮助的话,我将使用Python3.x。在

# Login Setup
loginW = Tk()

# Password Authentication Function
def Authentication():

    valid = 'pythonprogramming'

    if (pwordE = valid):
        # Syntax Error for the above line
        mp = Tk()
        loginW.destroy()
        # Main Program here
        mp.mainloop()

    else:
        errorW = Tk()
        errorL = Label(errorW, text='Invalid Password!')

        errorW.mainloop()

pwordL = Label(loginW, text='Password: ')
pwordE = Entry(loginW, show='*')

logBtn = Button(loginW, text='Login')
logBtn.bind("<Button-1>", Authentication)

pwordL.pack(row=0)
pwordE.pack(row=0, column=1)
logBtn.pack(row=1, columnspan=2)

loginW.mainloop()

Tags: textauthenticationloginmppasswordlabelpacktk
1条回答
网友
1楼 · 发布于 2024-09-30 12:27:41

您的代码有几个错误:

  • pack更改为grid。在
  • pwordE = valid改为pwordE.get() == valid
  • 将参数event添加到Authentication函数

完整代码:

# Login Setup
loginW = Tk()

# Password Authentication Function
def Authentication(event):

    valid = 'pythonprogramming'

    if pwordE.get() == valid:
        # Syntax Error for the above line
        mp = Tk()
        loginW.destroy()
        # Main Program here
        mp.mainloop()

    else:
        errorW = Tk()
        errorL = Label(errorW, text='Invalid Password!')
        errorL.grid(row=0, column=0)
        errorW.mainloop()

pwordL = Label(loginW, text='Password: ')
pwordE = Entry(loginW, show='*')

logBtn = Button(loginW, text='Login')
logBtn.bind("<Button-1>", Authentication)

pwordL.grid(row=0, column=0)
pwordE.grid(row=0, column=1)
logBtn.grid(row=1, columnspan=2)

loginW.mainloop()

截图:

enter image description here

正确密码:

enter image description here

密码不正确:

enter image description here

相关问题 更多 >

    热门问题