可以使用 QRegExpValidator 类来限制 QLineEdit 控件的输入格式,示例代码如下:
#include <QApplication>
#include <QLineEdit>
#include <QRegExpValidator>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QLineEdit lineEdit;
QRegExp regExp("^\\d+\\.?\\d*$"); // 正则表达式,匹配数字和小数点
QRegExpValidator validator(regExp, &lineEdit); // 将正则表达式应用到 QLineEdit 控件中
lineEdit.setValidator(&validator);
lineEdit.show();
return a.exec();
}
在上述代码中,首先创建了一个 QLineEdit 对象,并定义了一个正则表达式 ^\\d+\\.?\\d*$
,该正则表达式匹配以数字开头、后面跟着一个可选的小数点和任意数量的数字,并且字符串结尾必须是数字或者空字符串。然后通过 QRegExpValidator 类将该正则表达式应用到 QLineEdit 控件中。最后显示该控件并进入事件循环。