Как обновить текст Tix.ComboBox? - PullRequest
       41

Как обновить текст Tix.ComboBox?

2 голосов
/ 23 сентября 2008

У меня есть Tix.ComboBox с редактируемым текстовым полем. Как заставить переменную, содержащую значение для текста, обновить?

Позвольте мне дать более конкретное объяснение. У меня есть поле со списком и кнопка. Когда я нажимаю кнопку, появляется всплывающее окно со значением поля со списком. Допустим, текстовое поле со списком в данный момент имеет значение "thing1". Если я введу «new» в поле и затем нажму на кнопку с моей мышью, появится сообщение «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()

Ответы [ 2 ]

5 голосов
/ 23 сентября 2008

свататься! решил это сам.

Использование

self.combo['selection']

вместо

self.combo['value']
1 голос
/ 16 октября 2008

ПРИМЕЧАНИЕ: копия ответа Мо, которую можно выбрать в качестве выбранного ответа

свататься! решил сам.

Использование

self.combo['selection']

вместо

self.combo['value']
...