3

我有一个QSpinBox并且我希望它只接受正的自然数。这工作正常,直到我输入一个点.

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

所以我正在寻找一种方法来忽略背后的一切.

如果没有子类化,这可能QSpinBox吗?

4

1 回答 1

2

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

QDoubleSpinBox * box = new QDoubleSpinBox();

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

box->findChild<QLineEdit*>()->setValidator(new QRegExpValidator(QRegExp(QString("^[1-9][0-9]*$"))));
于 2014-12-04T10:40:07.293 回答