我正在做的課程項目的一部分需要我創建一個登錄頁面併合並一個數據庫,我已經成功地以正常形式使用python,但現在我不得不把它放到一個使用tkinter的圖形用戶界面中並使其工作我不得不在頁面上使用一個函數來調用數據庫中的記錄,並與用戶輸入進行比較。我遇到的問題是,當我調用這個函數時,它什麼都不做,可能是因爲我的代碼中有一個簡單的錯誤,但是我不知道是出於某種原因還是出於某種原因。無法在課堂上獲得功能
class LogInScreen(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
description = tk.Label(self, text="Please log in to gain access to the content of this computer science program.", font=LARGE_FONT)
description.pack()
label1 = tk.Label(self, text="Enter your username:")
label1.pack()
self.usernameEntry = tk.Entry(self)
self.usernameEntry.pack()
label2 = tk.Label(self, text="Enter your password:")
label2.pack()
self.passwordEntry = tk.Entry(self, show="*")
self.passwordEntry.pack()
notRecognised=tk.Label(self, text="")
logInButton = tk.Button(self, text="Log In", command=lambda: self.logUserIn)
logInButton.pack()
self.controller = controller
button1 = tk.Button(self, text="Back to Home",
command=lambda: controller.show_frame(SplashScreen))
button1.pack()
button2 = tk.Button(self, text="Sign Up",
command=lambda: controller.show_frame(SignUpScreen))
button2.pack()
def logUserIn():
username = self.usernameEntry.get()
password = self.passwordEntry.get()
find_user = ("SELECT * FROM user WHERE username == ? AND password == ?")
cursor.execute(find_user,[(username),(password)])
results = cursor.fetchall()
if results:
controller.show_frame(HubScreen)
else:
loginResult = tk.Label(self, text="Account credentials not recognised, please try again")
loginResult.pack()
我不確知,我應該如何去獲得此功能工作,真正需要幫助的人在這裏都能夠提供的。我花了很長時間看代碼並且無所作爲,我已經厭倦瞭解決它,執行程序的其他部分,但是如果沒有這個功能,就很難評估它們。很抱歉,對於那些比我更有才華的人來說,這是一個不便之處,但這是一個學習過程,我正在努力改進。
通過'self':'def logUserIn(self):' –
你是怎麼稱呼它的? – mnistic
爲什麼你使用一個類登錄屏幕? – mrCarnivore