您的位置:首页 > 编程语言 > Qt开发

Qt QLineEdit 限制输入类型以及大小Int 和double

2016-04-08 14:03 597 查看
1.QLineEdit 限制整数

[cpp] view
plain copy







m_LineEditIterate = new QLineEdit();

m_LineEditIterate->setFixedWidth(100);

m_LineEditIterate->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);

m_LineEditIterate->setText("2");

m_LineEditIterate->setValidator(new QIntValidator(1, 9, m_LineEditIterate));

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

[cpp] view
plain copy







QRegExp double_rx100("100|([0-9]{0,2}[\.][0-9]{1,3})");

QRegExp double_rx10000("10000|([0-9]{0,4}[\.][0-9]{1,3})");

QRegExp double_rx10("10|([0-9]{0,1}[\.][0-9]{1,3})");

m_LineEditDensity = new QLineEdit;

m_LineEditDensity->setValidator(new QRegExpValidator(double_rx100, m_LineEditDensity));

m_LineEditParA = new QLineEdit;

m_LineEditParA->setValidator(new QRegExpValidator(double_rx10000, m_LineEditParA));

m_LineEditParB = new QLineEdit;

m_LineEditParB->setValidator(new QRegExpValidator(double_rx10, m_LineEditParB));

3.QLineEdit只输入字母和数字 收藏

[cpp] view
plain copy







QRegExp regx("[a-zA-Z0-9]+$");

QValidator *validator = new QRegExpValidator(regx, lined );

lined->setValidator( validator );

QRegExp regExp(“[A-Za-z][1-9][0-9]{0,2}”);
//正则表达式,第一位数字为a-z的数字,第二位为1-9的数字,后边是0-2位 0-9的数字
lineEdit->setValidator(new QRegExpValidator(regxp,this));

应用:QLineEdit输入一个Byte十六进制数

//字符集过滤器,过滤十六进制

QRegExp regExp("[a-fA-F0-9][a-fA-F0-9]");

QValidator *validator = new QRegExpValidator(regExp, ui->LEditDlpcAddr);

ui->LEditDlpcAddr->setValidator(validator);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: