Поймать событие, которое сработало, когда пользователь изменяет значение в записи, и вручную проверить, что это число с плавающей точкой. Это может быть так же просто, как использовать try
вокруг float()
:
>>> float("1.4")
1.4
>>> float("1.4a")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 1.4a
>>>
Если возникает исключение, отклонить значение.
Редактировать : вы также можете фильтровать символы по мере их ввода.
if newCharacter in "0123456789.":
# valid
else
# invalid