| Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QRegExpValidator类是用来检查与正则表达式的字符串。More...
继承QValidator。
该QRegExpValidator类是用来检查与正则表达式的字符串。
QRegExpValidator使用正则表达式(正则表达式)来确定一个输入字符串是否是Acceptable,Intermediate或Invalid。当QRegExpValidator构造正则表达式可以被提供,或者在稍后的时间。
当QRegExpValidator判断一个字符串是否是Acceptable还是不行,正则表达式被视为其与字符串断言的启动开始(^),并用绳子断言年底结束($) ;匹配是对整个输入字符串,或者从给定的位置,如果开始位置大于零给出。
如果一个字符串的前缀Acceptable串,它被认为是Intermediate。例如, “ ”和“A”是Intermediate为正则表达式[A-Z][0-9](而“_“将是Invalid) 。
对于简要介绍了Qt的正则表达式引擎,请参阅QRegExp。
使用示例:
// regexp: optional '-' followed by between 1 and 3 digits QRegExp rx("-?\\d{1,3}"); QValidator *validator = new QRegExpValidator(rx, this); QLineEdit *edit = new QLineEdit(this); edit->setValidator(validator);
下面,我们提出校验器的一些例子。在实践中,它们通常会被一个小部件如在上面的例子有关。
// integers 1 to 9999 QRegExp rx("[1-9]\\d{0,3}"); // the validator treats the regexp as "^[1-9]\\d{0,3}$" QRegExpValidator v(rx, 0); QString s; int pos = 0; s = "0"; v.validate(s, pos); // returns Invalid s = "12345"; v.validate(s, pos); // returns Invalid s = "1"; v.validate(s, pos); // returns Acceptable rx.setPattern("\\S+"); // one or more non-whitespace characters v.setRegExp(rx); s = "myfile.txt"; v.validate(s, pos); // Returns Acceptable s = "my file.txt"; v.validate(s, pos); // Returns Invalid // A, B or C followed by exactly five digits followed by W, X, Y or Z rx.setPattern("[A-C]\\d{5}[W-Z]"); v.setRegExp(rx); s = "a12345Z"; v.validate(s, pos); // Returns Invalid s = "A12345Z"; v.validate(s, pos); // Returns Acceptable s = "B12"; v.validate(s, pos); // Returns Intermediate // match most 'readme' files rx.setPattern("read\\S?me(\.(txt|asc|1st))?"); rx.setCaseSensitive(false); v.setRegExp(rx); s = "readme"; v.validate(s, pos); // Returns Acceptable s = "README.1ST"; v.validate(s, pos); // Returns Acceptable s = "read me.txt"; v.validate(s, pos); // Returns Invalid s = "readm"; v.validate(s, pos); // Returns Intermediate
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个验证用parent对象接受任何字符串(包括空单)为有效。
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
构造一个验证用parent对象接受匹配正则表达式的字符串rx。
本场比赛是针对整个字符串,例如如果设置了RegExp是[A-Fa-f0-9]+这将被视为^[A-Fa-f0-9]+$。
从重新实现QValidator.validate( ) 。
Returns Acceptable如果input匹配的正则表达式为这个校验器,Intermediate如果它匹配的部分(即可能是一个有效的匹配,如果其他有效字符添加) ,及Invalid如果input不匹配。
该pos参数被设置为的长度input参数。
例如,如果正则表达式是\w\d\d(单词字符,数字,数字),那么“ A57 ”是Acceptable, “ E5 ”是Intermediate和“ 9 ”的Invalid。
See also QRegExp.exactMatch( ) 。
| PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |