1

ディスプレイマネージャオブジェクトにコンボボックスがあります。

self.recentcmd_labeltext = StringVar()
self.recentcmd_combobox = ComboBox(self.frame, dropdown=1, editable=1, variable=self.recentcmd_labeltext)
self.recentcmd_combobox['command'] = self.cb_enter_command
self.recentcmd_combobox.grid(row=4, column=0, columnspan=2, sticky=N+S+W+E, pady=5)

私のコンボボックスコールバックは次のようになります。

def cb_enter_command(self, event=None):
    self.controller.apply_command(self.recentcmd_labeltext.get())

私の問題は、ユーザーがコンボボックスからマウスでアイテムを選択すると、self.controller.apply_command()が2回呼び出されることです。ただし、ユーザーがアイテムをコンボボックスに入力してEnterキーを押したときに1回だけです。なぜそうなるのかわかりません。StringVar()へのリンクなしでウィジェットを使用してみました-コンボボックスのselection属性を介して文字列にアクセスするだけですが、違いはありません。誰かが私のために明確にすることができますか?ありがとう。

4

0 に答える 0