我使用的QSpinBox可用于输入0到33之间的值。默认值为零。如果我使用键盘输入数字,它会保持前导零,这很烦人。
示例:我想通过键盘输入23
我输入“2” - 旋转框的值变为“02”
我键入“3” - 没有任何反应 - 旋转框已满
如何防止此行为?
感谢, 甲
答案 0 :(得分:2)
在valueChanged
侦听器中添加一行代码以删除前导零。
if (mySpinBox.value.length() > 1 && mySpinBox.value[0] == '0')
{
mySpinBox.value = mySpinBox.value.remove(0, 1);
}
答案 1 :(得分:2)
我在QDoubleSpinBox中遇到了类似的问题,其中尾随零编辑不方便。
我通过重新实现QDoubleSpinBox :: textFromValue()来修剪零来解决它。