第一種,利用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;
}
效果: