我今天刚刚开始与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)发生变化时,我希望按钮文本能够反映出来。它确实发生了变化,因为我有一个同时运行的基于文本的版本。但是,按钮文本不会更改。
如果可能的话,我会避免在后端代码中手动设置按钮的文本。
如果有人能指出我正确的方向,那就太棒了。谢谢!
答案 0 :(得分:0)
msim.frames[frame_num].page.name
需要是StringVar
的实例,它不适用于普通变量。