Fix float value error in pyqt configuration (#106)

Co-authored-by: Markus Stabrin <markus.stabrin@gmail.com>
This commit is contained in:
Markus Stabrin
2022-08-03 15:35:56 +02:00
committed by GitHub
parent 39c10aa238
commit f08e2d1720
2 changed files with 16 additions and 2 deletions

View File

@@ -128,7 +128,7 @@ class QLabeledSlider(_SliderProxy, QAbstractSlider):
super().__init__(parent)
self._slider = self._slider_class()
self._label = SliderLabel(self._slider, connect=self._slider.setValue)
self._label = SliderLabel(self._slider, connect=self._setValue)
self._edge_label_mode: EdgeLabelMode = EdgeLabelMode.LabelIsValue
self._rename_signals()
@@ -142,6 +142,13 @@ class QLabeledSlider(_SliderProxy, QAbstractSlider):
self.setOrientation(orientation)
def _setValue(self, value: float):
"""
Convert the value from float to int before
setting the slider value
"""
self._slider.setValue(int(value))
def _rename_signals(self):
# for subclasses
pass

View File

@@ -1,4 +1,4 @@
from superqt import QLabeledRangeSlider
from superqt import QLabeledRangeSlider, QLabeledSlider
def test_labeled_slider_api(qtbot):
@@ -9,3 +9,10 @@ def test_labeled_slider_api(qtbot):
slider.setBarVisible()
slider.setBarMovesAllHandles()
slider.setBarIsRigid()
def test_slider_connect_works(qtbot):
slider = QLabeledSlider()
qtbot.addWidget(slider)
slider._label.editingFinished.emit()