访问tkinter按钮中的文本以存储为变量

时间:2019-01-20 14:02:32

标签: python tkinter

我正在尝试使用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'] 但这似乎不起作用。有什么建议吗?

1 个答案:

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