在python中单击按钮时更改变量的值

时间:2019-02-09 17:36:31

标签: python tkinter

因此,我正在尝试制作一个自动的TicTacToe GUI,一旦您移动它便可以播放您的视频。您看到的代码非常普通,因为实际代码很长,而且通常没有上下文。我希望代码本身能够工作,以便在单击按钮时,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 :(得分:1)

考虑以下代码:

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

它在mainloop开始之前仅运行一次。您将永远不会到达A1达到1的位置并打印结果。

您需要的是随时检查变量A1,这可以通过创建另一个按钮来完成:

Button(root, text="get result",command=lambda: print("This is a test.") if A1==1 else "").pack()
相关问题