from Tkinter import *
import ttk
main=Tk()
def print1(event):
string = ""
string = combobox1.get()
print combobox1.get()
val = StringVar()
combobox1 = ttk.Combobox(main, textvariable=val, height=4)
combobox1.bind("<Key>", print1)
combobox1.focus_set()
combobox1.pack()
mainloop()
如何解决问题,即当我按下第一个按钮时,它没有立即显示 例如,当我按下a时,它没有显示任何内容,然后我按下了b。它将显示a,但不显示ab。 我该如何解决这个错误? 感谢。
答案 0 :(得分:2)
你非常接近。绑定语句与您需要的略有不同。问题是它是在钥匙交付给组合框之前打印的。现在它一直等到释放密钥才能触发事件。
from Tkinter import *
import ttk
main=Tk()
def print1(event):
string = ""
string = combobox1.get()
print combobox1.get()
val = StringVar()
combobox1 = ttk.Combobox(main, textvariable=val, height=4)
combobox1.bind("<KeyRelease>", print1)
combobox1.focus_set()
combobox1.pack()
mainloop()
答案 1 :(得分:0)
bind
事件的事情的另一种方式,它使用所有trace()
变量类共有的Tkinter
方法({{1 {},BooleanVar
,DoubleVar
和IntVar
)described here。调用时收到的参数在this question的答案中解释。
StringVar