繁体   English   中英

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

[英]Changing the value of a variable when button is clicked in python

因此,我正在尝试制作一个自动的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()

当我运行代码时,窗口看起来不错,但是当我按屏幕上的按钮时,它不会显示“这是测试”。 换句话说,它只是空白。

考虑下面的代码:

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()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM