我希望QLineEdit只接受没有任何小数的数字。它应该接受' 456'但不是' 456.3434' .i.e。它根本不应该允许十进制。任何人都可以给出一些指示,我该怎么做。
我尝试使用QIntValidator,但它仍然允许输入小数点,当我从QLinEdit转换文本时它返回零(因为文档说,如果转换失败,它将返回零)。
我也试过使用QRegExpValidator(QRegExp(" [0-9]"),但它只允许一个数字。最大数量没有限制,我如何指定QRegExp如果QRegExpValidator是实现它的唯一方法,则最小为0,最大为未定义?
谢谢
答案 0 :(得分:5)
您可以尝试以下验证器:
QLineEdit le;
le.setValidator(new QRegExpValidator(QRegExp("[0-9]+")));
le.show();
<强>更新强>
要允许以指数形式输入,您可以尝试:
le.setValidator(new QRegExpValidator( QRegExp("[0-9]+e[0-9]+")));