2

我正在使用一个 QSpinBox,可用于输入 0 到 33 之间的值。默认值为零。如果我使用键盘输入数字,它会保留前导零,这很烦人。

示例:我想通过键盘输入 23

我输入“2”——旋转框的值变为“02”

我输入“3” - 没有任何反应 - 旋转框已满

如何防止这种行为?

谢谢

4

2 回答 2

3

我对 QDoubleSpinBox 也有类似的问题,其中尾随零使编辑不方便。

我通过重新实现 QDoubleSpinBox::textFromValue() 来修剪零点来解决它。

于 2015-04-28T12:43:54.390 回答
2

在侦听器中添加一行代码valueChanged以删除前导零。

if (mySpinBox.value.length() > 1 && mySpinBox.value[0] == '0')
{
     mySpinBox.value = mySpinBox.value.remove(0, 1);
}
于 2012-12-14T00:28:41.230 回答