QLineEdit限制输入类型

本文最后更新于:2022年5月29日 上午

使用正则表达式限制QLineEdit输入类型。

1
2
3
QRegExp rx("^(\\d|[1-9]\\d|(1[0-2][0-3]))$");//输入范围为【0-123】
QRegExp rx2("^(-[1-9][0-9][0-9]|-[1-9][0-9]|-[1-9])|(500|\\d|[1-9]\\d|[1-4]\\d\\d)$");//输入范围限制为【-999-500】
QRegExp rx3("^-?((\\d|[1-9]\\d)(\\.\\d{0,2})?)$");//输入范围是【-99.99-99.99】``

说明:

  1. rx:

    • ""内的内容为输入限制表达式,^为起始符,$为结束符,
    • \d表示输入一个【0-9】的数
    • |表示或后面接其他可能输入样式
    • [1-9]\d表示输入两位数,十位是【1-9】,个位是【0-9】
    • 1[0-2][0-3]表示输入3位数,百位为1,十位【0-2】,个位【0-3】
  2. rx2: -表示匹配一个负号

  3. rx3:

    • -?表示-号有0个或者1个两种可能;\.表示匹配一个小数点;

    • \d{0,2}表示有0个到2个【0-9】的数;

    • (\.\d{0,2})?表示括号内的内有0个或者1个

  1. QLieEdit限制double类型,以及小数点,{0,2}这个是控制位数

    1
    2
    3
    QRegExp regx("(-[0-9]{0,2}[\\.][0-9]{1,3})");
    QValidator* validator = new QRegExpValidator(regx);
    ui->lineEdit->setValidator(validator);
  2. QLineEdit只输入字母和数字

    1
    2
    3
    QRegExp regx("[a-zA-Z0-9]");
    QValidator* validator = new QRegExpValidator(regx);
    ui->lineEdit->setValidator(validator);

QLineEdit限制输入类型
https://kevinloongc.github.io/posts/af032c2d.html
作者
Kevin Loongc
发布于
2021年12月20日
许可协议