@@ -454,8 +454,10 @@ def set_data_type(self, dt):
454454 def _convert_text (self ,text ):
455455 # int("1.0") will return error
456456 # so we use int(float("1.0"))
457-
458- value = float (text )
457+ try :
458+ value = float (text )
459+ except :
460+ value = 0.0
459461 if self ._data_type is int :
460462 value = int (value )
461463 return value
@@ -512,14 +514,13 @@ def __init__(self, parent=None):
512514 self ._lock = False
513515
514516 def _on_edit_changed (self ,value ):
515- if self ._lock :
516- return
517- self ._lock = True
518517 self ._set_slider_value (value )
519518 self .valueChanged .emit (self ._edit .value ())
520- self ._lock = False
521519
522520 def _on_slider_changed (self ,value ):
521+ if self ._lock :
522+ self ._lock = False
523+ return
523524 value = value / float (self ._mul )
524525 self ._edit .setValue (value )
525526
@@ -528,7 +529,7 @@ def _set_slider_value(self,value):
528529
529530 if value == self ._slider .value ():
530531 return
531-
532+ self . _lock = True
532533 _min = self ._slider .minimum ()
533534 _max = self ._slider .maximum ()
534535 if _min <= value <= _max :
@@ -538,6 +539,7 @@ def _set_slider_value(self,value):
538539 elif value > _max and self ._slider .value () != _max :
539540 self ._slider .setValue (_max )
540541
542+
541543 def set_min (self , value = 0 ):
542544 self ._slider .setMinimum (int (value * self ._mul ))
543545
0 commit comments