• 5393阅读
  • 6回复

QRegExp [复制链接]

上一主题 下一主题
离线laiobot
 
只看楼主 倒序阅读 楼主  发表于: 2009-12-07
我把正则表达式写好后,make没错,第一次发现在lineedit上不能输入数字;看了一遍manual没有得到什么信息,网上去搜了搜,也没有相关提示。然后我想了一下是不是setInputMask和QRegExp的前后关系问题,于是问把setInputMask调到了QRegExp之后,再run之后发现可以输出了,但是正则表达式又不起作用了。

很想知道是什么原因

我的代码如下:(lineEdit5已经初始化过了)


    lineEdit5->setInputMask("000.000.000.000;");

    QRegExp rx("[0-9]{0,3}\\.25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]\\.25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]\\.25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]");
    QValidator *validator = new QRegExpValidator(rx,this);
    lineEdit5->setValidator(validator);


请赐教
离线tangxunmin

只看该作者 1楼 发表于: 2009-12-07
这个貌似比较难  还没找到答案
离线laiobot
只看该作者 2楼 发表于: 2009-12-07
我今天试了很多种方法,唯独只有把setinputmask();去掉,正则表达式能够起限制作用,但是不能完全输入,就是不能出入那么多个字符
离线laiobot
只看该作者 3楼 发表于: 2009-12-07
我突然想到是不是没有给出不满足正则表达式后所程序的反应,就是阻止输入这个动作,因此正则表达式没有起作用?
离线yb824
只看该作者 4楼 发表于: 2009-12-08
这有个帖子是说这个问题的,你看下
http://lists.trolltech.com/qt-interest/2004-05/thread00085-0.html
离线laiobot
只看该作者 5楼 发表于: 2009-12-08
4L你的帖子我试过了,但是还是没有成功
离线laiobot
只看该作者 6楼 发表于: 2009-12-08
问题解决了,不能有setinputmask那条指令
快速回复
限100 字节
 
上一个 下一个