2016-02-08 1 views
0

мне интересно, как есть Python проверить событие, чтобы увидеть, если username и password матч, а затем распечатать correct если он или false если он нет. Когда я пытаюсь получить результат, всегда false. Мне нужен способ проверить, совпадают ли они.Как иметь событие проверить запись, чтобы увидеть, если он соответствует переменной в Python

Вот мой код:

from tkinter import * 

    root = Tk() 

    def check(event): 
    username = "Amras" 
    password = "pass" 
    if entry1 == username: 
     if entry2 == password: 
     print("true") 
    else: 
     print("false") 
    else: 
     print("false") 

    name = Label(root, text="Name: ") 
    password = Label(root, text="Password: ") 
    entry1 = Entry(root) 
    entry2 = Entry(root) 
    c = Checkbutton(root, text="Keep me logged in") 
    button1 = Button(root, text="Login") 
    button1.bind("<Button-1>", check) 

    name.grid(row=0, sticky=E) 
    password.grid(row=1, sticky=E) 

    entry1.grid(row=0, column=1) 
    entry2.grid(row=1, column=1) 

    c.grid(columnspan=2) 

    button1.grid(row=1, column=2) 

    root.mainloop() 
+0

Вместо двух операторов 'if' и двух' '' '' '' '' '' 'if (entry1.get() == username) и (entry2.get() == password):' и 'else:' , – zondo

ответ

1

Вы не оценивайте текст вы положили внутри entry коробки. Используйте entry1.get() и т.д. ...

from Tkinter import * 

root = Tk() 

def check(event): 
    username = "Amras" 
    password = "pass" 
    # Also these if statements should be combined 
    if entry1.get() == username: # Use the .get() method 
     if entry2.get() == password: # Use the .get() method 
     print("true") 
    else: 
     print("false") 


name = Label(root, text="Name: ") 
password = Label(root, text="Password: ") 
entry1 = Entry(root) 
entry2 = Entry(root) 
c = Checkbutton(root, text="Keep me logged in") 
button1 = Button(root, text="Login") 
button1.bind("<Button-1>", check) 

name.grid(row=0, sticky=E) 
password.grid(row=1, sticky=E) 

entry1.grid(row=0, column=1) 
entry2.grid(row=1, column=1) 

c.grid(columnspan=2) 

button1.grid(row=1, column=2) 

root.mainloop() 

Не после того, как вы наберете Amras и pass в вас должны получить true

Также в вашем коде оператор импорта кажется плохим (Tkinter с капиталом по умолчанию), есть два else утверждений в определении, а отступ также неверен.

+0

в порядке, и отступы от меня были ленивы, чтобы правильно настроить его, когда я задавал вопрос –

+0

Thats fine, но два оператора 'else' могут вызвать проблемы –

+0

Также, если этот ответ верен и решил вашу проблему, пожалуйста отметьте это как правильное –

Смежные вопросы