qt的验证器QValidator
来源:互联网 发布:linux 打开一个文件夹 编辑:程序博客网 时间:2024/06/05 11:06
QValidator 验证器一般用于只能输入允许的或者指定的数据。
编辑框或者其他输入控件 可以通过类似于SetValidator来指定这个验证器。
由于 QValidator 有一个纯虚函数 validate.所以必须要写一个 类来继承,然后实现这个纯虚函数才行。
virtual Statevalidate(QString & input, int & pos) const = 0这个函数返回State状态。 input是当前输入的字符串引用。pos是位置指针的引用。在这个函数里面实现对于input的字符串的检查,然后返回对应的状态,确认是否允许输入。
返回State有三种状态
QValidator::Invalid
明确这个输入是不允许的
QValidator::Intermediate
这个输入处在中间状态,还无法判断。需要后续。例如输入ip地址000.000.000.000这样可以返回intermediate。然后在fixup里面修复成0.0.0.0 (其实还是没太理解这里怎么用)。
QValidator::Acceptable
这个输入是允许的
注意1. QValidator有QObject parent=0参数。继承类也最好使用这个parent构造函数参数。当new的时候指定这个parent关联。
避免内存泄漏了。
lineedit->setValidator(new myValidator(lineedit));
注意2 由于input和pos是传入的引用。所以觉得输入不合适的时候。可以自己修改字符和光标位置。但是修改完毕以后。必须返回intermediate或者acceptable。否则就无效。
这个的应用实例很多。比如输入ip地址的时候。输入25是可以的。再输入5也可以 255。但是输入6就不行了 256超过了。这个时候可以把input前面的25去掉。然后光标也移动。
pos=pos-3
input.truncate(pos);
这样就不用手工再删除前面的25
fixup函数(有待验证)
当最终的状态不是acceptable的时候。会调用一次fixup函数。修复错误。如果是acceptable就不会调用
- qt的验证器QValidator
- Qt入门-QValidator类
- Qt入门-QValidator类
- Qt中验证器的使用
- Qt中验证器的使用
- Qt中验证器的使用
- Qt中验证器的使用
- Qt中验证器的使用
- Qt验证器 QRegExpValidator
- Qt中的验证器
- Qt 中的验证器类
- QT实现简单验证的页面跳转
- QLineEdit::setValidator ( const QValidator * v )
- pyqt4文档阅读(10):QValidator
- 简单的验证QT信号和槽的例子
- QT WindowsVS2010平台自行编译SDK的必要性验证
- qt 登陆界面账号和密码的验证
- qt和MySQL连接验证
- 实用知识:正则表达式表情匹配
- Deep Learning学习 之 Deep learning简介
- 开源 java CMS - FreeCMS2.4 选择管理站点
- 硬盘免费提速100倍的秘密,99%的人不知道!
- xamarin遇到的问题
- qt的验证器QValidator
- Deep Learning学习 之 Deep Learning训练过程
- Eclipse下使用maven搭建多模块项目
- js--异常、obj对象
- AFNetworking 3.0迁移指南
- 趣学 C 语言(五)—— 内存管理
- 软件开发中协议制定的注意事项
- POJ1236
- HDU 5421 Victor and String(回文树)