1

我希望 QLineEdit 只接受没有任何小数的数字。例如,它应该接受“456”但不接受“456.3434”。即它根本不应该允许小数。任何人都可以给出一些指示,我该怎么做。

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

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

谢谢

4

1 回答 1

5

您可以尝试以下验证器:

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

更新

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

le.setValidator(new QRegExpValidator( QRegExp("[0-9]+e[0-9]+")));
于 2014-12-04T15:32:23.253 回答