限制QLineEdit的数值输入范围
来源:互联网 发布:手机淘宝如何注册店铺 编辑:程序博客网 时间:2024/05/24 04:12
例1:
例2:对于浮点数,使用QDoubleValidator时,发现只能限制只输入小数,但是无法设定数值范围,因此有必要对这个问题做一番研究。
除了QIntValidator和QDoubleValidator,Qt提供另一种校验器是正则表达式校验器:QRegExpValidator,下面是一些常用的利用正则表达式校验器限定数值范围的用法:
限制浮点数输入范围为[-999999.9999,999999.9999]
限制浮点数输入范围为[-90,90]并限定为小数位后4位
简单说明一下这几个正则表达式:
^(-?[0]|-?[1-9][0-9]{0,5})(?:\.\d{1,4})?$|(^\t?$)
(^-?180$)|(^-?1[0-7]\d$)|(^-?[1-9]\d$)|(^-?[1-9]$)|^0$
^-?(180|1?[0-7]?\d(\.\d+)?)$
^-?(180|1?[0-7]?\d(\.\d{1,4})?)$
^-?(90|[1-8]?\d(\.\d{1,4})?)$
- 式子中开头的^和结尾的$限定字符串的开始和结尾;
- "-?" 表示一个或0个负号,这里面的问号表示其前面的字符重复0次或1次;
- 管道符“|”表示平行分组,比如后三个,表示180或其它形式;
- [1-9] 表示限定数字范围为1到9,其余类似,如果是有限几个值,还可以用枚举的方式,比如限定-255到255时,第一个数字2的限定,应该表达为[1,2],这表示这个位置只允许是1或者2;
- "\d"是一个转义字符,表示匹配一位数字;
- “\.” 表示匹配小数点;
- "\d+",这里面的+表示其前面的\d重复一次或多次;
- "\d{1,4}",里面的{1,4}表示重复1到4次;
有了以上知识,下面我们可以很快的写出限定[-255,255]的正则表达式:
[-255,255]整数:^-?(255|[1,2]?[0-4]?\d|[1,2]?5[0-4]?)$
[-255,255]小数:^-?(255|([1,2]?[0-4]?\d|[1,2]?5[0-4]?)(\.\d)?)$
参考:
[1]Qt限制文本框输入的方法
[2]怎么让QLineEdit中只能输入数字
[3]用正则表达式配出-180到180该怎么写
[4]求正则表达式,在-180到180之间的数字,包括浮点数
原文地址:http://blog.csdn.net/giselite/article/details/12708031
- 限制QLineEdit的数值输入范围
- 限制QLineEdit的数值输入范围
- 限制QLineEdit的数值输入范围
- 限制QLineEdit的数值输入范围
- 限制QLineEdit的数值输入范围
- 限制QLineEdit的数值输入范围
- qt中限制QLineEdit的输入范围
- QIntValidator 限制QLineEdit输入范围
- 限制QLineEdit的数值输入范围(QT正则表达式方法),顺便简单介绍下QT正则表达式方法
- 控制QLineEdit的输入范围
- C#数值的大小范围限制处理.
- 学习记录-对Qt的QLineEdit进行输入字符限制
- 限制QLineEdit输入浮点数的一点解决办法
- Qt中QLineEdit如何限制小数的范围(QDoubleValidator失效下解决方法)
- QLineEdit限制输入(整数、浮点数)
- QLineEdit用正则限制文本框的输入内容+正则表达式语法
- QLineEdit的IP格式输入
- EditText限制输入数字范围
- WSAEventSelect模型详解
- HTTP协议详解(真的很经典)
- OpenCV Error: Insufficient memory
- nginx启动,停止
- 18.Unity3D商业游戏源码研究-变身吧主公-战斗-MainPlayerStateAttack
- 限制QLineEdit的数值输入范围
- telnet 模拟发送邮件
- Jackson学习笔记
- LIRe图像检索:FCTH算法原理与源码分析
- 内存问题定位与解决
- java中的==和equals的区别
- HTTP协议的头信息详解
- weblogic comet4j java.lang.ClassNotFoundException: org.apache.catalina.comet.CometProcessor
- 单元测试/自动化测试