qt正则法则例子

应该不叫这个名子,但我初学不知道该叫什么,就这么先叫着吧!
QRegExp ,我觉得它非常像是一个正则表达式的模式类,然后由 QRegExpValidator 创建一个正则表达式类,交给可编辑的文本的控件使用,有一个例子是这样的。
QRegExp   regExp("[A-Za-z]{0,10}[0-9]{8}");//创建了一个模式
QRegExpValidator pattern(regExp,this);//创建了一个表达式
lineEdit->setValidator(&pattern);//交付使用
这样就达到了一个目的,如果输入的字母超过10个就不让再输入字母了,然后是输入数字,但超过8个的时候也不允许再输入了。
再有就是wildcard 模式了,这个东西在创建正则表达式的时候可以设置,默认时关闭了,也就是说默认的状态是使用正则表达式的语法,比如r*.txt匹配的是以零或无数个字母r开始,然后是随便是一个字符,再就是txt的字符串,但如果setWildcard时就是匹配了以一个r开始,中字是任意多个任意的字符,然后以.txt结尾的字符串,如:readme.txt
若只是用于输入数字的话 可以用这个
 class QValidator *validator = new QIntValidator(0,9999,this);
LineEdit->setValidator(validator);
LineEdit->setMaxLength(4);
 QIntValidator v( 0, 100, this );
    QLineEdit * edit = new QLineEdit ( this );

    // 这个行编辑只接受从0到100的整数
    edit->setValidator ( &v );

详细描述

QIntValidator类提供了一个确保一个字符串包含一个在一定有效范围内的整数的验证器。

 

validate ()函数返回Acceptable Intermediate Invalid Acceptable 是指字符串是一个在指定范围内的有效整数。Intermediate 是指字符串是一个有效整数,但不在指定范围内。Invalid 是指字符串不是一个有效整数。

使用实例:

 

    QIntValidator v( 0, 100, this );
QLineEdit * edit = new QLineEdit ( this );

// 这个行编辑只接受从0到100的整数
edit->setValidator ( &v );

下面我们提供一些验证器的实例。实际上,它们将会像上面的例子一样和窗口部件协同使用。

 

    QString

 s;
QIntValidator v( 0, 100, this );

s = "10";
v.validate ( s, 0 ); // 返回Acceptable
s = "35";
v.validate ( s, 0 ); // 返回Acceptable

s = "105";
v.validate ( s, 0 ); // 返回Intermediate

s = "-763";
v.validate ( s, 0 ); // 返回Invalid
s = "abc";
v.validate ( s, 0 ); // 返回Invalid
s = "12v";
v.validate ( s, 0 ); // 返回Invalid

最大值和最小值可以通过调用setRange ()同时设置或者通过分别调用setBottom ()和setTop ()来设置。

 

the same as QIntValidator QDoubleValidator QRegExpValidator


 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值