Qt QIntValidator详解

一、介绍

QIntValidator是Qt框架中用于验证整数输入的验证器类。它可以限制用户输入的整数范围,确保输入的整数在指定的范围内。通过QIntValidator,可以轻松地实现整数输入的有效性和范围限制。

二、 常用方法

  • QIntValidator(QObject *parent = Q_NULLPTR)

构造一个整数验证器。

  • QIntValidator(int minimum, int maximum, QObject *parent = Q_NULLPTR)

构造一个整数验证器,并指定下限和上限。

  • bottom() const

返回当前验证器的最小值。

  • setBottom(int)

设置整数的最小值。

  • setRange(int bottom, int top)

设置验证器的整数范围。

  • setTop(int)

设置整数的最大值。

  • top() const

返回当前验证器的最大值。

三、验证机制

QIntValidator根据其设置的整数范围,对输入进行验证,并返回以下状态:

  • QValidator::Acceptable:输入有效。
  • QValidator::Intermediate:输入部分有效,尚不完整
  • QValidator::Invalid:输入无效。

四、DEMO

// 创建一个QLineEdit对象作为输入框
QLineEdit *lineEdit = new QLineEdit;

// 创建一个QIntValidator对象,并设置输入范围为10到100
QIntValidator *validator = new QIntValidator(10, 100, lineEdit);

// 将验证器设置到输入框上
lineEdit->setValidator(validator);

// 显示输入框
lineEdit->show();
QString str;
int pos = 0;
QIntValidator v(100, 900, this);

str = "1";
v.validate(str, pos);     // returns Intermediate
str = "012";
v.validate(str, pos);     // returns Intermediate

str = "123";
v.validate(str, pos);     // returns Acceptable
str = "678";
v.validate(str, pos);     // returns Acceptable

str = "999";
v.validate(str, pos);    // returns Intermediate

str = "1234";
v.validate(str, pos);     // returns Invalid
str = "-123";
v.validate(str, pos);     // returns Invalid
str = "abc";
v.validate(str, pos);     // returns Invalid
str = "12cm";
v.validate(str, pos);     // returns Invalid

qq群交流:698593923

觉得有帮助的话,打赏一下呗。。

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值