第一种,利用QIntValidator结合 QLineEdit即可。你可以利用setRange来设置整数的输入范围。但是也可以不设置范围,默认范围从-2147483647到2147483647
第二种,利用QRegExpValidator结合QLineEdit,下面在代码里会重点解释。
第三种,用QSpinBox,这个只要将Box的上限下限规定下来即可。
下面看示例:
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QIntValidator>
#include <QRegExpValidator>
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QIntValidator * pIntVld = new QIntValidator(this);
ui->EdtInt->setValidator(pIntVld);//任意整数,含负数
QRegExpValidator * pRegVld = new QRegExpValidator(this);
//任意整数,含负数 \\d表示一位数字 {1,}表示数字至少一位,多位不限
//^-表示开头必须是负号。 -?表示负号的个数可以是0个或者一个 故^-?合起来表示开头可以以符号开头,但最多一个符号
pRegVld->setRegExp(QRegExp(QString("^-?\\d{1,}")));
ui->EdtReg->setValidator(pRegVld);
}
MainWindow::~MainWindow()
{
delete ui;
}
效果: