• 3547阅读
  • 1回复

QLineEdit内容校验的问题 [复制链接]

上一主题 下一主题
离线兴海北路
 

只看楼主 倒序阅读 楼主  发表于: 2014-12-23
想请教个问题,现在要求我写一个类,能够对程序中所有的QLineEdit控件的内容进行校验,要做非空检验,还有对内容的长度做检验;以后还可能有其他校验,后续要方便扩展!

我之前做过的QLineEdit校验,都是对单独的每一个QLineEdit对象的内容做校验,比如说
       先定义一个QDoubleValidator *validatorDouble = new QDoubleValidator(0.00001, 10000.0, 5, this);对象
       然后在定义QLineEdit对象的时候加上这个限制
       QLineEdit* mLineEdit= new QLineEdit(this);
       mLineEdit->setValidator(validatorDouble );

像开头提到的需求,该怎么处理呢?
离线shiziyang

只看该作者 1楼 发表于: 2014-12-23
QApplication有个allWidgets函数,通过它取所有窗体控件,再用qobject_cast看是不是QLineEdit类型。然后再一个个应用正则类。
你直接设下去只能让lineedit无法输入不符合条件的内容,这种写法不太好,有时会完全无法直接输入。用QValidator的validate函数直接判字符串有没有效更好。
快速回复
限100 字节
 
上一个 下一个