2017-04-03 83 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

相關問題