如何更新Tix.ComboBox的文本?
时间:2020-03-06 14:33:42 来源:igfitidea点击:
我有一个带有可编辑文本字段的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()
解决方案
呜!
我自己解决了。
使用
self.combo['selection']
代替
self.combo['value']
注意:可以选择Moe答案的副本作为所选答案
呜!
我自己解决了。
使用
self.combo['selection']
代替
self.combo['value']