Изменение значения переменной при нажатии кнопки в python - PullRequest
0 голосов
/ 09 февраля 2019

Итак, я пытаюсь создать автоматический графический интерфейс TicTacToe, который будет воспроизводить вас при движении.Код, который вы видите, очень неповторим, поскольку реальный код очень длинный и, как правило, вне контекста.Я хочу, чтобы сам код работал так, чтобы при нажатии кнопки значение A1 изменялось на 1, и он проверял, равно ли значение 1, поэтому он может вывести «Это тест», если так.

Я уже пробовал глобальный, я не знаю, делаю ли я это неправильно или нет.Есть ли другой способ сделать это, не назначив другую переменную?

from tkinter import *
root = Tk()
A1 = 0
def btn_change():
    global A1
    A1 += 1
Button1 = Button(root, text="    ", command=btn_change)
Button1.pack()
if A1 == 1:
    print("This is a test.")
root.mainloop()

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

1 Ответ

0 голосов
/ 09 февраля 2019

Рассмотрим приведенный ниже код:

if A1 == 1:
    print("This is a test.")

Он запускается ровно один раз до запуска основного цикла.Вы никогда не достигнете точки, где А1 достигнет 1, и напечатаете результат.

Вам нужна проверка переменной А1 в любое время, что можно сделать, создав другую кнопку:

Button(root, text="get result",command=lambda: print("This is a test.") if A1==1 else "").pack()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...