我想用qt水平滑块发送一个浮点值“step”,我正在尝试,但它不起作用:
horizontalSlider.setRange(0,25)
horizontalSlider.setSingleStep(horizontalSlider.maximum()/100.0)
horizontalSlider.valueChanged.connect(self.valueHandler)
然后我得到了这里的值:
def valueHandler(self,value):
print value
但是,得到的输出是1,2,3,4,5,6,7,8。。。。。。。
Qt silders只能有整数值。你需要改变你的测量单位,这样整数精度就足够了。例如,通常100个滑块位置就足够了。因此,您需要设置(0,100)滑块范围并缩放浮点值,以便将最小值转换为0,将最大值转换为100(即将浮点值转换为百分比)。
如果希望保持主代码的干净,可以创建Qt slider的子类并在内部实现所描述的逻辑。
因为您希望单步是25/100=0.25,所以您应该这样做:
相关问题 更多 >
编程相关推荐