1

これは私がこれまでに持っているものです

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'
4

1 に答える 1