class QIntValidator#

QIntValidator》类提供了一种验证器,确保字符串在指定的范围内包含一个有效的整数。更多...

Inheritance diagram of PySide6.QtGui.QIntValidator

概述#

属性#

  • bottom - 验证器可接受的最小值

  • top - 验证器可接受的最大值

方法#

信号#

注意

此文档可能包含从C++自动翻译到Python的代码片段。我们始终欢迎对片段翻译的贡献。如果您发现翻译有误,您也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建一个工单来告知我们。

详细说明#

警告

本节包含从C++自动翻译到Python的代码片段,可能包含错误。

使用示例

validator = QIntValidator(100, 999, self)
edit = QLineEdit(self)
# the edit lineedit will only accept integers between 100 and 999
edit.setValidator(validator)

下面我们展示了几个验证器的示例。在实际情况中,它们通常与上面示例中的小部件相关联。

str = QString()
pos = 0
v = QIntValidator(100, 900, self)
str = "1"
v.validate(str, pos) # returns Intermediate
str = "012"
v.validate(str, pos) # returns Intermediate
str = "123"
v.validate(str, pos) # returns Acceptable
str = "678"
v.validate(str, pos) # returns Acceptable
str = "999"
v.validate(str, pos) # returns Intermediate
str = "1234"
v.validate(str, pos) # returns Invalid
str = "-123"
v.validate(str, pos) # returns Invalid
str = "abc"
v.validate(str, pos) # returns Invalid
str = "12cm"
v.validate(str, pos) # returns Invalid

请注意,值999返回中间值。由不超过最大值的位数组成的值被认为是中间值。这是因为阻止一个数字在范围内的数字不一定是最后输入的位数。这也意味着中间值可以有前导零。

最小值和最大值可以用一个调用setRange()来设置,或者分别使用setBottom()setTop()来设置。

QIntValidator使用它的locale() 来解释数字。例如,在阿拉伯语区域设置中,QIntValidator将接受阿拉伯数字。

注意

locale()上设置的QLocale::NumberOptions也会影响数字的解释方式。例如,由于默认情况下没有设置QLocale::RejectGroupSeparator,验证器将接受分组分隔符。因此,建议使用QLocale::toInt()来获取数值。

另请参阅

QDoubleValidator QRegularExpressionValidator toInt()Line Edits Example

注意

当使用from __feature__ import true_property时,可以直接使用属性,否则可以通过访问器函数来使用。

属性 bottomᅟ: int#

此属性包含验证器可接受的最小值。

默认情况下,此属性值是从可用最低有符号整数(-2147483648)派生的。

另请参阅

setRange()

访问函数
属性 topᅟ: int#

此属性包含验证器可接受的最大值。

默认情况下,此属性的值源自可用的最大有符号整数(2147483647)。

另请参阅

setRange()

访问函数
__init__([parent=None])#
参数:

parentQObject

构造一个接受所有整数的验证器,其中包含一个parent对象。

__init__(bottom, top[, parent=None])
参数:
  • bottom – int

  • top – int

  • parentQObject

构造一个包含parent的验证器,该验证器接受从minimummaximum的整数(包括这两个值)。

bottom()#
返回类型:

int

另请参阅

setBottom()

属性 bottom 的getter。

bottomChanged(bottom)#
参数:

bottom – int

属性 bottom 的的通知信号。

setBottom(arg__1)#
参数:

arg__1 – int

另请参阅

bottom()

属性 bottom 的setter。

setRange(bottom, top)#
参数:
  • bottom – int

  • top – int

只能设置验证器的范围以接受从bottomtop之间的整数(包括这两个值)。

setTop(arg__1)#
参数:

arg__1 – int

另请参阅

top()

属性 top 的setter。

top()#
返回类型:

int

另请参阅

setTop()

属性 top 的getter。

topChanged(top)#
参数:

top – int

属性 topᅟ 的通知信号。