【发布时间】:2010-11-04 10:08:16
【问题描述】:
使用 Python - tkInter - Entry 小部件 - 当我使用 validatecommand(如下)时,检查第一次发生在字符串 > Max 时,但是当我继续输入文本时,检查步骤 - 之后没有删除或插入第一次?有什么建议吗? (除了不通过python构建桌面应用)
#!/usr/bin/env python
from Tkinter import *
class MyEntry(Entry):
def __init__(self, master, maxchars):
Entry.__init__(self, master, validate = "key", validatecommand=self.validatecommand)
self.MAX = maxchars
def validatecommand(self, *args):
if len(self.get()) >= self.MAX:
self.delete(0,3)
self.insert(0, "no")
return True
if __name__ == '__main__':
tkmain = Tk()
e = MyEntry(tkmain, 5)
e.grid()
tkmain.mainloop()
【问题讨论】: