如何在完整时允许QSpinBox插入?

时间:2015-02-26 18:19:42

标签: c++ qt qspinbox

我试图以各种方式寻找这个问题,但是没有发现任何相关的问题,所以也许有一个简单的方法可以解决这个问题,我根本找不到。如果是的话,我提前道歉。

我在我的应用程序中使用了许多QSpinBox,并且它们的行为让我感到非常沮丧,即如果您插入光标并尝试键入,则会被阻止并且不会插入任何内容。如果我然后删除一个字符,那么我可以输入一个字符,依此类推。

示例:

Spinbox显示:0.0000

我将光标插入'。'并且想要键入' 5',即它将具有0.50000。由于我在限制和精度上设置了约束,因此旋转框已满,因此被阻止。我必须按Delete删除一个' 0',所以它说0.000然后我可以输入我的' 5'。

如何在输入时让spinbox接受所有有效输入,并且只担心在结尾处截断值?

1 个答案:

答案 0 :(得分:0)

您可以继承QDoubleSpinBox的子类并重新实现其validate方法以允许具有更多小数点的数字。

然后捕获editingFinished信号以截断输入的值。