Tix.ComboBox의 텍스트를 업데이트하는 방법은 무엇입니까?
문제
편집 가능한 텍스트 필드가 있는 Tix.ComboBox가 있습니다.텍스트 값을 보유하는 변수를 강제로 업데이트하려면 어떻게 해야 합니까?
좀 더 구체적인 설명을 해보자.콤보 상자와 버튼이 있습니다.버튼을 클릭하면 콤보 상자의 값이 포함된 메시지 상자가 나타납니다.현재 콤보 상자 텍스트 필드의 값이 "thing1"이라고 가정해 보겠습니다.상자에 "new"를 입력하고 마우스로 버튼을 클릭하면 "thing1"이라는 메시지가 나타납니다.상자에 "new"를 입력한 다음 탭 포커스를 콤보 상자에서 벗어난 다음 버튼을 클릭하면 팝업 메시지에 "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