Qt QLineEdit 限制输入类型以及大小Int 和double
·
1.QLineEdit 限制整数
- 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));
- 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));
- 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);
更多推荐

所有评论(0)