From 4909bf6756000f9450249b28f8c8379a2160415c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Parodi=2C=20Eugenio=20=F0=9F=8C=B6?= Date: Mon, 12 May 2025 15:55:29 +0100 Subject: [PATCH] fix(spinbox): better check for float, empty strings and negative numbers --- libs/pyTermTk/TermTk/TTkWidgets/spinbox.py | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/libs/pyTermTk/TermTk/TTkWidgets/spinbox.py b/libs/pyTermTk/TermTk/TTkWidgets/spinbox.py index 039d4264..b368b86f 100644 --- a/libs/pyTermTk/TermTk/TTkWidgets/spinbox.py +++ b/libs/pyTermTk/TermTk/TTkWidgets/spinbox.py @@ -110,14 +110,18 @@ class TTkSpinBox(TTkContainer): @staticmethod def _isFloat(num): try: - float(str(num)) - return True - except: + int(str(num)) return False + except: + return True @pyTTkSlot(str) def _textEdited(self, text): - if self._isFloat(text): + if text == '-': + return + if not text: + self.setValue(0) + elif self._isFloat(text): self.setValue(float(str(text))) else: self.setValue(int(str(text)))