Почему это окно входа в tkinter не работает? - PullRequest
0 голосов
/ 28 мая 2019

Я изучаю tkinter и столкнулся с проблемой при создании окна входа в систему. Я не уверен, сделал ли я это правильно или наиболее эффективно, но я ценю некоторую помощь.

Я пробовал несколько разных способов сделать это, но еще ничего не нашел.

from tkinter import *
from tkinter import messagebox

def userpass():

    u = username.get
    p = password.get()

    if (p == '123' and u == 'test'):
        messagebox.showinfo("Login", "Correct")

    else:
        messagebox.showinfo("Login", "incorrect")

app = Tk()   
password = StringVar()
username = StringVar()
userlabel = Label(app, text = 'username:').grid(row = 1, column = 0)
passlabel = Label(app, text = 'password:').grid(row = 2, column = 0)
userEntry = Entry(app, textvariable = username,).grid(row = 1,
column = 1)
    passEntry = Entry(app, textvariable = password, show = '*').grid(row = 2, column = 1)
    login = Button(app, text = 'login',command = userpass).grid(row = 3, column = 1)

app.mainloop()

Когда я запускаю программу и ввожу правильные данные для входа, появляется неправильное окно сообщения.

1 Ответ

1 голос
/ 28 мая 2019

В функции userpass есть ошибка. username.get - это функция, которая при вызове возвращает текущее значение соответствующего текстового поля Entry. таким образом, он должен называться

u = username.get()

и это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...