Qt笔记(七十五)之QLineEdit设置QIntValidator范围大小无效的问题

104 篇文章 128 订阅

一.前言
楼主在实际的开发中,需要设置QLineEdit只能输入数字,还要设置可输入范围的大小,正好Qt提供QIntValidator这个类,心想Qt果然很方便,但是使用过程中也发现了问题,设置了输入范围,但是居然无效,还是可以输入范围之外的数字,其实经过验证,准确的说应该是:不是设置的范围都无效,是设置的范围对0-9无效

二.网上提供的设置方式也不能解决这个问题
方式1:

    QIntValidator *v = new QIntValidator;
    v->setRange(10,20);
    ui->lineEdit->setValidator(v);

在这里插入图片描述
方式2:

ui->lineEdit->setValidator(new QIntValidator(10,20,this));

在这里插入图片描述
实际操作中发现只要输入的范围不涉及0-9就是正常的,至于原因,楼主还没找到

三.关于该问题的解决方式,目前有1种
1.采用正则表达式,具体可以参考:Qt笔记(七十四)之QLineEdit指定输入类型

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值