Moe*_*Moe 2 python combobox tkinter tix
我有一个带有可编辑文本字段的Tix.ComboBox.如何强制保存文本值的变量更新?
让我给出一个更具体的解释.我有一个组合框和一个按钮.当我单击该按钮时,它会弹出一个带有组合框值的消息框.假设组合框文本字段当前具有值"thing1".如果我在框中键入"new",然后用鼠标单击按钮,它将弹出消息"thing1".如果我在框中键入"new",然后将tab焦点从组合框中移开,然后单击弹出消息显示"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()
Run Code Online (Sandbox Code Playgroud)
呜!我自己解决了.
使用
self.combo['selection']
Run Code Online (Sandbox Code Playgroud)
代替
self.combo['value']
Run Code Online (Sandbox Code Playgroud)