QT 正则表达式例子

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QRegExp>
#include <QValidator>
#include <QDoubleValidator>
#include <QListView>
#include <QDebug>

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);

    //可以输入1~5个:汉字,大小写字母
    QRegExp reg("[\u4e00-\u9fa5a-zA-Z]{1,5}");
    QValidator *va = new QRegExpValidator(reg);

    //可以输入1~5个:汉字,大小写字母,数字,下划线
    QRegExp reg1("[\u4e00-\u9fa5a-zA-Z0-9_]{1,5}");
    QValidator *va1 = new QRegExpValidator(reg1);

    ui->comboBox->setView(new QListView);

    //这两个方法的调用顺序不能反
    ui->comboBox->setEditable(true);
    ui->comboBox->setValidator(va);

    ui->comboBox_2->setEditable(true);
    ui->comboBox_2->setValidator(va);

    ui->comboBox_3->setEditable(true);
    ui->comboBox_3->setValidator(va1);

    // 只能输入1~99
    QValidator *validator = new QIntValidator(1, 10, this);
    ui->lineEdit_2->setValidator(validator);

    // 只能输入1~10,并且只能输入两位小数
    QDoubleValidator *v = new QDoubleValidator(1, 10,2, this);
    v->setNotation(QDoubleValidator::StandardNotation);
    ui->lineEdit_3->setValidator(v);

    QLineEdit *custom = new QLineEdit(this);
    custom->setGeometry(0,0,80,20);
    custom->setValidator(v);

}

MainWindow::~MainWindow()
{
    delete ui;
}


void MainWindow::on_pushButton_clicked()
{
    qDebug()<<ui->lineEdit_2->text();
}

猜你喜欢

转载自blog.csdn.net/amwha/article/details/115263224