0

今日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(タイプは文字列)が変更された場合、ボタンのテキストにそれを反映させたいと思います。テキストベースのバージョンを同時に実行しているので、実際に変更されます。ただし、ボタンのテキストは変更されません。

可能であれば、バックエンドコードでボタンのテキストを手動で設定することは避けています。

誰かが私を正しい方向に向けることができれば、それは素晴らしいことです。ありがとう!

4

1 に答える 1

0

msim.frames[frame_num].page.nameのインスタンスである必要がありStringVarます。通常の変数では機能しません。

于 2012-11-11T01:43:55.033 に答える