2017-04-03 81 views
-1

所以我并不是新来的python或一般编程,但我仍然在学习python。我正在为我和我的一些朋友开发一个程序。当我为我的某个函数不断收到语法错误时,我正在为登录屏幕制作GUI和代码。我不知道可能是什么原因造成的。如果有人可以提供一些援助,将不胜感激。附:我只会发布我一直有错误的部分,并且只有我认为有必要帮助显示正在发生的事情,并且我正在使用python 3.x(如果有帮助的话)。Python Tkinter GUI程序:SyntaxError:无效的语法?

# 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() 

回答

1

你的代码中有几个错误:

  • 变化packgrid
  • 变化pwordE = validpwordE.get() == valid
  • 附加参数eventAuthentication功能

完整代码:

# 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

相关问题