Как обновить текст Tix.ComboBox?
Вопрос
У меня есть Tix.ComboBox с редактируемым текстовым полем.Как заставить переменную, содержащую значение текста, обновиться?
Позвольте мне дать более конкретное объяснение.У меня есть поле со списком и кнопка.Когда я нажимаю кнопку, появляется окно сообщения со значением поля со списком.Допустим, текстовое поле поля со списком в настоящее время имеет значение «thing1».Если я введу в поле «новый», а затем нажму кнопку мышью, появится сообщение «thing1».Если я наберу «новый» в поле, а затем перетащу фокус от поля со списком, а затем нажму кнопку, во всплывающем сообщении будет написано «новый».
Как мне заставить поле со списком обновить его значение до нового, не требуя, чтобы я закрывал поле со списком?
Я включил пример кода.
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']
Другие советы
ПРИМЕЧАНИЕ:копия ответа Мо, которую можно выбрать в качестве выбранного ответа
ууу!решил это самостоятельно.
Использовать
self.combo['selection']
вместо
self.combo['value']