如何在Tkinter中自动更新按钮文本?

时间:2012-11-10 22:43:14

标签: python tkinter

我今天刚刚开始与Tkinter合作,似乎无法弄清楚如何自动更新按钮的文本(如绑定)。

按钮是动态创建的:

    #creates frames visualization
    for frame_num in range(OSBehavior.NUM_FRAMES):
        f_label = Label(frames_frame, text='Frame ' + str(frame_num))
        f_label.grid(row=frame_num, column=0, padx=5)
        f_button = Button(frames_frame, width=30, textvariable=msim.frames[frame_num].page.name)
        f_button.grid(row=frame_num, column=1, padx=5, pady=3)

当msim.frames [frame_num] .page.name(type is string)发生变化时,我希望按钮文本能够反映出来。它确实发生了变化,因为我有一个同时运行的基于文本的版本。但是,按钮文本不会更改。

如果可能的话,我会避免在后端代码中手动设置按钮的文本。

如果有人能指出我正确的方向,那就太棒了。谢谢!

1 个答案:

答案 0 :(得分:0)

msim.frames[frame_num].page.name需要是StringVar的实例,它不适用于普通变量。