lineEdit限制输入的字符

项目中常在lineEdit上限制字符的输入。
这时候可以用以下的正则表达式来限制输入

#include "mainwindow.h"
#include "ui_mainwindow.h"

#include 
#include 
MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow) {
    ui->setupUi(this);
    QRegExp regExp("[a-zA-Z0-9\u4e00-\u9fa5]+$");
    ui->lineEdit->setValidator(new QRegExpValidator(regExp, this));
}

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

需要注意的是在Qt6的项目中QRegExp已经放在了单独的模块中。
具体的可以查找Qt6做的改变。

常见的正则表达式:

含义 表达式
小写字母 a-z
大写字母 A_Z
.
unicode中文 \u4e00-\u9fa5
匹配开始的位置 ^
匹配结束的位置 $
匹配一个单词边界,即字与空格间的位置。 \b
非单词边界匹配。 \B

正则表达式学习链接:https://www.runoob.com/regexp/regexp-syntax.html
正则表达式测试链接:https://c.runoob.com/front-end/854/
正则表达式常用链接:

你可能感兴趣的:(qt,正则表达式,ui)