这是我到目前为止所拥有的
vdcm = (self.register(self.checkForInt), '%S')
roundsNumTB = Entry(self, validate = 'key', validatecommand = vdcm)
然后 checkForInt() 函数定义为
def checkForInt(self, S):
return (S.isDigit())
输入框是一个偶数,并且只有一个数字;不是字符。如果输入了一个字符,它就会被拒绝。这只会工作一次。如果输入了字符,则不拒绝作为输入的下一个键击。
如果有人能告诉我如何让它永久检查以确保字符串是一个数字,并且是一个偶数,那将不胜感激。
如果有任何帮助,这是我收到的错误消息
Exception in Tkinter callback
Traceback (most recent call last):
File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk/Tkinter.py", line 1470, in __call__
return self.func(*args)
File "[py directory]", line 101, in checkForInt
return (S.isDigit())
AttributeError: 'str' object has no attribute 'isDigit'