В поле ввода мне нужно ограничить его использование числами от 1 до 999. Это работает с первой попытки, но не позволяет вводить что-либо с первой попытки. Затем мне разрешается вводить текст в поле ввода при втором нажатии цифровой клавиши и разрешать любое число внутри него. Я использую Python и библиотеку tkinter.
def validate():
for i in range(1,999):
if 1 <= i <= 999:
return True
else:
return False
textBox.config(validate="key", validatecommand=(validate, reg, "%P"))
В идеале он не позволял мне вводить что-либо ниже 1 или выше 999.
EDIT Я немного обновил свой код (извините, я новичок) и он все еще не работает.
def validate(textboxAsInt):
if textboxAsInt< 1:
return textboxAsInt== 1
elif textboxAsInt> 999:
return textboxAsInt== 999
textbox.config(validate="key", validatecommand=(validate, reg, "%P"))
textboxAsString = TextBox.get()
textboxAsInt = int(float(textboxAsString))