Home · All Classes · Modules · QSS HELP · QSS 案例 · VER007 HOME |
该QValidator类提供了输入文本的验证。More...
继承QObject。
通过继承QDoubleValidator,QIntValidator和QRegExpValidator。
该QValidator类提供了输入文本的验证。
类本身是抽象的。两个子类,QIntValidator和QDoubleValidator,提供基本的数值范围检查,并QRegExpValidator使用自定义的正则表达式提供了一般的检查。
如果内置的验证是不够的,你可以继承QValidator 。这个类有两个虚函数:validate()和fixup( ) 。
validate( )必须由每个子类实现。它返回Invalid,Intermediate or Acceptable根据其参数是否有效(有效的子类的定义) 。
这三种状态需要一些解释。一个Invalid字符串是clearly无效。Intermediate是不太明显的:有效性的概念难以适用时该字符串是不完整的(仍在编辑) 。 QValidator定义Intermediate作为一个字符串,既不是明显无效,也不接受作为最终结果的财产。Acceptable表示该字符串是可接受作为最终结果。有人可能会说,任何字符串,它是一个项目在一个合理的中间状态Acceptable字符串是Intermediate。
下面是一些例子:
fixup( )用于验证,可以修复一些用户错误。默认实现不执行任何操作。QLineEdit例如,将调用fixup( )如果用户按下Enter键(或Return )和内容目前无效。这允许fixup( )函数执行一些魔法使的一个机会Invalid串Acceptable。
一个验证器有一个区域,设置setLocale( ) 。它通常被用来解析本地化数据。例如,QIntValidator和QDoubleValidator用它来解析整数和双精度的本地化表示。
QValidator通常用于QLineEdit,QSpinBox和QComboBox。
这个枚举类型定义了一个验证字符串可以存在的状态。
Constant | Value | Description |
---|---|---|
QValidator.Invalid | 0 | 该字符串是clearly无效。 |
QValidator.Intermediate | 1 | 该字符串是一个合理的中间值。 |
QValidator.Acceptable | 2 | 该字符串是可以接受的最终结果,即它是有效的。 |
该parent的说法,如果不是没有,原因self通过Qt的,而不是PyQt的拥有。
建立验证程序。该parent参数被传递到QObject构造函数。
这个函数试图改变input根据该验证器的规则是有效的。它必须不会导致一个有效的字符串:这个函数的调用者必须重新测试后,默认不做任何事情。
此函数的重新实现可以改变input即使他们不出示有效的字符串。例如, ISBN校验器可能需要删除每一个字符,除了数字和“ - ” ,即使结果仍然没有有效的ISBN ,一个姓验证器可能会想从字符串的开头和结尾删除空格,即使得到的字符串是不是在接受姓氏列表。
返回locale的验证。语言环境是默认初始化为相同的QLocale ( ) 。
See also setLocale()和QLocale.QLocale( ) 。
设置locale将要使用的验证器。除非setLocale的被调用,验证程序将使用默认的语言环境与集QLocale.setDefault( ) 。如果默认语言环境尚未确定,它是操作系统的语言环境。
See also locale()和QLocale.setDefault( ) 。
这种方法是抽象的,应在任何子类中重新实现。
这个虚函数返回Invalid如果input是无效的,根据这个验证的规则,Intermediate如果它很可能是多一点的编辑将使得输入可接受的(例如,在用户键入“4”到它接受10〜 99的整数窗口小部件) ,和Acceptable如果输入是有效的。
该功能可以同时改变input和pos(光标位置),如果需要的话。
这种方法是抽象的,应在任何子类中重新实现。
PyQt 4.10.3 for X11 | Copyright © Riverbank Computing Ltd and Nokia 2012 | Qt 4.8.5 |