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

n9vozmp4  于 2023-10-14  发布在  Python
关注(0)|答案(2)|浏览(117)

所以我想做一个自动的TicTacToe GUI,一旦你移动,它就会播放你。你看到的代码是非常外行的,因为实际的代码很长,而且通常脱离了上下文。我希望代码本身能够工作,这样当按钮被点击时,A1的值将变为1,它将检查值是否为1,这样它就可以打印“This is a test”。
我已经试过全球了,我不知道我是不是做错了。有没有其他方法可以做到这一点,而不需要分配一个不同的变量?

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

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

jjjwad0x

jjjwad0x1#

考虑下面的代码:

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

它在主循环开始之前只运行一次。你永远不会到达A1达到1的点并打印结果。
您需要的是随时检查变量A1,这可以通过创建另一个按钮来完成:

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

py49o6xq2#

考虑以下代码:

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

不要增加你的设置,而是设置它。

相关问题