Командная функция кнопки Tkinter не выполняет свою задачу - PullRequest
0 голосов
/ 18 ноября 2018
from tkinter import *

#Windows
logWin = Tk()
mainWin = Tk()
srchWin = Tk()
NTWin = Tk()

#Variables
userName="123"
password="123"
logFail = ""
userBox = Entry(logWin)
passBox = Entry(logWin)
EU = userBox.get()
EP = passBox.get()

#General Window
mainWin.withdraw()
srchWin.withdraw()
NTWin.withdraw()

#Command
def loginCmd():
    if EU == userName and EP == password:
        print ("hello")
    else:
        print("no")


#Login Window
logWin.title("Login")
logWin.geometry("200x70")

userBox.grid(row=0,column=1)
passBox.grid(row=1,column=1)

userLbl = Label(logWin,text="Username:")
userLbl.grid(row=0,column=0)
passLbl = Label(logWin,text="Password:")
passLbl.grid(row=1,column=0)
failLbl = Label(logWin,text=logFail)
failLbl.grid(row=2,column=0)

logBtn = Button(logWin,text="Login",command=loginCmd)
logBtn.grid(row=2,column=1)


mainloop()

Я пытаюсь создать программу, которая требует от вас входа в систему, однако мой оператор if в моей def команды, похоже, не работает, и я понятия не имею, почему.

скриншот того, что происходит

1 Ответ

0 голосов
/ 18 ноября 2018

Чтобы это работало, вам нужно получить значение, когда вы нажимаете кнопку, а не когда текстовое поле инициализируется. Поэтому, если вы измените функцию входа в систему на следующую, ваша программа должна функционировать должным образом.

def loginCmd():
    if userBox.get() == userName and passBox.get() == password:
        print("hello")
    else:
        print("no")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...