우선, OOP를 사용하지 않아서 미안합니다. 그런 작은 프로그램의 복잡성을 피하기로 결정했습니다.비슷한 유효성 검사 기능이 작동하지 않습니다.
from tkinter import *
root = Tk()
root.title("Entry Validation")
root.geometry("300x100")
def validation_function(text):
if len(text) <= 5:
try:
text = int(text)
return True
except:
return False
else:
return False
vcmd = root.register(validation_function)
entry = Entry(root, validate='key', validatecommand=(vcmd, "%P"))
entry.pack()
이 정상 작동합니다 그래서 여기 내 프로그램입니다 (기본적으로, 그것은 단지 그 최대 길이 5의 정수로 구성된 텍스트를 수있는 항목 위젯입니다). 내가 유효성 검사 기능의 몸에 약간의 변화를 할 때, 그것은 작동하지 않습니다
def validation_function(text):
try:
text = int(text)
if len(text) <= 5:
return True
else:
return False
except:
return False
을 내가 느끼는 문제가 여기에 있습니다 :
는except:
return False
아마 최대 길이 부분은하지 않습니다 try-except로 잘 어울립니다. 그러나 :
def validation_function(text):
try:
if len(text) <= 5:
return True
else:
return False
except:
return False
올바르게 작동합니다. 하지만 최대 길이 부분 만 있습니다. 또한 정수 만 허용하고 싶습니다. 첫 번째 예제에서 한 적이 있지만 내 질문은 : 최대 정수 부분을 사용하여 최대 길이 부분의 위치를 변경할 때 왜 작동하지 않습니까?
이유를 설명하지 않고 내 질문에 downvote하지 마십시오 시도 예외
을 올릴 것이다 ...
len(int)
를 호출 할 수있는int
입니다! 그것은 나의 특권을 제한한다. 난 그냥 여기 새로 왔어. 어서와! –