Tix.ComboBox のテキストを更新するにはどうすればよいですか?
質問
編集可能なテキストフィールドを持つ Tix.ComboBox があります。テキストの値を保持する変数を強制的に更新するにはどうすればよいですか?
もう少し具体的に説明しましょう。コンボボックスとボタンがあります。ボタンをクリックすると、コンボ ボックスの値を含むメッセージ ボックスがポップアップ表示されます。現在、コンボ ボックスのテキスト フィールドの値が「thing1」であるとします。ボックスに「new」と入力し、マウスでボタンをクリックすると、「thing1」というメッセージがポップアップ表示されます。ボックスに「new」と入力し、タブでフォーカスをコンボ ボックスから外してボタンをクリックすると、ポップアップ メッセージに「new」と表示されます。
Tab キーでコンボ ボックスから離れることなく、コンボ ボックスの値を強制的に new に更新するにはどうすればよいですか?
サンプルコードを含めました。
import Tix
import tkMessageBox
class App(object):
def __init__(self, window):
window.winfo_toplevel().wm_title("test")
self.window = window
self.combo = Tix.ComboBox(window)
self.combo.insert(Tix.END, 'thing1')
self.combo.insert(Tix.END, 'thing2')
self.combo.entry['state'] = "normal"
self.combo['editable'] = True
self.combo.pack()
button = Tix.Button(window)
button['text'] = "Go"
button['command'] = self.go
button.pack()
def go(self):
tkMessageBox.showinfo('info', self.combo['value'])
if __name__ == '__main__':
root = Tix.Tk()
App(root)
root.mainloop()
解決
うわー!自分で解決しました。
使用
self.combo['selection']
の代わりに
self.combo['value']
他のヒント
注記:選択された回答として選択できる Moe の回答のコピー
うわー!自分で解決しました。
使用
self.combo['selection']
の代わりに
self.combo['value']
所属していません StackOverflow