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十六进制数
[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);
相关文章推荐
- 编译 arm 版的qt
- qt绘图
- Qt制作贪吃蛇游戏
- qt stylesheet
- module "Qt.WebSockets" is not installed
- Qt使用数据库(1)
- QT加载qwt开源控件库
- QT5 OpenGL (六, 键盘事件, 开关灯,放大缩小综合运用)
- QT 学习之analogclock改进
- QT 练手纪实
- QtCreator编译learnopengl的HelloWindow
- 基于Qt的图像处理技术和算法
- Qt下 QString转char*
- 解析Qt中QThread使用方法
- Qt 目录
- Qt QLabel显示保存图像
- Qt 示例学习--1. 1 qml实现list
- Qt标准对话框之QMessageBox
- Qt5.4以上版本使用MySQL数据库(避免各种坑)
- 在qt设计师中集成自定义窗口部件