QLineEdit没有小数点

时间:2014-12-04 15:28:05

标签: regex qt qlineedit qregularexpression qvalidator

我希望QLineEdit只接受没有任何小数的数字。它应该接受' 456'但不是' 456.3434' .i.e。它根本不应该允许十进制。任何人都可以给出一些指示,我该怎么做。

我尝试使用QIntValidator,但它仍然允许输入小数点,当我从QLinEdit转换文本时它返回零(因为文档说,如果转换失败,它将返回零)。

我也试过使用QRegExpValidator(QRegExp(" [0-9]"),但它只允许一个数字。最大数量没有限制,我如何指定QRegExp如果QRegExpValidator是实现它的唯一方法,则最小为0,最大为未定义?

谢谢

1 个答案:

答案 0 :(得分:5)

您可以尝试以下验证器:

QLineEdit le;
le.setValidator(new QRegExpValidator(QRegExp("[0-9]+")));
le.show();

<强>更新

要允许以指数形式输入,您可以尝试:

le.setValidator(new QRegExpValidator( QRegExp("[0-9]+e[0-9]+")));