我有QSpinBox
,我希望它只接受正数自然数。这很好,直到我输入一个点.
如果我输入234235.23456
并将焦点更改为其他某个旋转框,则该值将更改为23423523456
。
所以我正在寻找一种方法来忽略.
如果没有子类化QSpinBox
吗?
答案 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]*$"))));