Я хотел бы вернуть переменную из виджета и кнопки ввода - PullRequest
0 голосов
/ 19 апреля 2019

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

A = tk.StringVar()
B = tk.StringVar()

def turn():
    A = B.get()

entry1 = tk.Entry(window0,textvariable=B)
entry1.pack()

button1 = tk.Button(window0,text="Continue",command=turn)
button1.pack()

if A == "Hirasa" or "hirasa":
    print("ok")
else:
    print("no")

Я ожидаю, что если введенная переменная равна Hirasa или hirasa, я хотел бы напечатать «ok» или, если это не так, я бы хотелпечать "нет".

1 Ответ

0 голосов
/ 19 апреля 2019

Вы должны поместить операторы IF и ELSE в очередь ().

Это по двум причинам:

  1. Так что операторы IF и ELSE запускаются только один раз, когда пользователь нажимает кнопку
  2. Потому что, если операторы IF и ELSE не в свою очередь () тогда они не могут использовать «A», потому что «A» является локальной переменной поворота ().

Ваш улучшенный / исправленный код:


A = tk.StringVar()
B = tk.StringVar()

def turn():
    A = B.get()
    if A == "Hirasa" or "hirasa":
        print("ok")
    else:
        print("no")

entry1 = tk.Entry(window0,textvariable=B)
entry1.pack()

button1 = tk.Button(window0,text="Continue",command=turn)
button1.pack()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...