我根据this post编写了以下脚本:
from tkinter import *
class MainWindow(Tk):
def __init__(self):
super(MainWindow, self).__init__()
self.geometry("500x300+433+234")
self.title("Hallo")
self.__tbIn_Txt = StringVar(None, "Hallo")
self.__tbIn = Entry(self, textvariable = self.__tbIn_Txt, validate = "all")
self.__tbIn.config(validatecommand = (self.register(self.__check),))
self.__tbIn.pack()
def __check(self):
print("Check")
def show(self):
self.mainloop()
wMain = MainWindow()
wMain.show()
__check
仅在我第一次单击文本框/条目时触发,但从不再触发。我想实现KeyDown / KeyUp / KeyPress / TextChanged行为,但似乎我的脚本导致OnClick事件。如何在条目值的每次更改时调用文本框__check
?
我在Windows 7 64位上运行Python 3.4(64位)。
答案 0 :(得分:2)
validatecommand必须返回True或False,否则tkinter将取消进一步的验证。