我正在尝试使用tkinter创建2D游戏(非常简单),并且按钮有一个小问题。
我使用以下代码创建了一个“切换”按钮,单击后该按钮从“上”更改为“下”,反之亦然:
def toggleud(icycle = it.cycle(['Down', 'Up'])):
stateud = next(icycle)
updowntoggle['text'] = str(stateud)
updowntoggle = tk.Button(scr, text = 'Up', command = toggleud)
updowntoggle.pack()
实施后,效果很好!但是,我然后想访问该按钮处于哪个状态,以便可以将其用于在网格中移动字符,例如如果按钮说“向上”,则角色将向下移动,反之亦然。我试过了
udtogglechoice = updowntoggle['text']
但这似乎不起作用。有什么建议吗?
答案 0 :(得分:0)
根据docs,您可以创建一个StringVar
变量并获取其值。当变量的值更改时,按钮将更新。
from tkinter import StringVar
toggle_var = StringVar()
updowntoggle = tk.Button(scr, text = 'Up', textvariable=toggle_var, command = toggleud)
#to get the value
def toggleud():
#your code here
print(toggle_var.get())