我使用pyqt并有两个QDoubleSpinBox用于定义间隔。通常,这些间隔是整数,例如,摄氏度。根据用例我切换范围,步长,单位等。一个案例涉及电压,需要十进制,所以我总是使用QDoubleSpinBox但减少小数和步长对应整数。以下是电压情况的摘录:
self.to_spin.setDecimals(2)
self.from_spin.setDecimals(2)
self.to_spin.setSuffix(" V")
self.from_spin.setSuffix(" V")
self.to_spin.setSingleStep(0.1)
self.from_spin.setSingleStep(0.1)
self.to_spin.setRange(0.0,40.0)
self.from_spin.setRange(0.0,40.0)
if set_defaults:
self.from_spin.setValue(2.0)
self.to_spin.setValue(18.0)
问题是,即使在上面的场景中,输入的值也总是更正为最接近的整数。 我在一个不同的地方使用QDoubleSpinBoxes,但没有改变间隔等,并且它在那里工作应该是。
有什么建议吗?验证器应该没问题,因为它是DoubleBox,对吧? 任何帮助表示赞赏 - 提前谢谢,
本
答案 0 :(得分:0)
与此同时,我相信,我发现了问题所在:如果用于定义range,stepsize等的值之一是整数,则输入的值也会跳转到整数。无论如何,现在它有效。