Qt 三種限制輸入框只接受整數的方法

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

效果:

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章