限制输入QSpinBox

时间:2014-12-03 10:16:37

标签: qt qspinbox

我有QSpinBox,我希望它只接受正数自然数。这很好,直到我输入一个点.

如果我输入234235.23456并将焦点更改为其他某个旋转框,则该值将更改为23423523456

所以我正在寻找一种方法来忽略.

背后的一切

如果没有子类化QSpinBox吗?

,这是否可行?

1 个答案:

答案 0 :(得分:3)

我找到了解决问题的方法:

QDoubleSpinBox * box = new QDoubleSpinBox();

box->setDecimals(0);
box->setSingleStep(1.0);

box->findChild<QLineEdit*>()->setValidator(new QRegExpValidator(QRegExp(QString("^[1-9][0-9]*$"))));