QIntValidator

The QIntValidator class provides a validator that ensures a string contains a valid integer within a specified range. More

Inheritance diagram of PySide2.QtGui.QIntValidator

Synopsis

Functions

Virtual functions

Signals

Detailed Description

Example of use:

validator = QIntValidator(100, 999, self)
edit = QLineEdit(self)

# the edit lineedit will only accept integers between 100 and 999
edit.setValidator(validator)

Below we present some examples of validators. In practice they would normally be associated with a widget as in the example above.

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

Notice that the value 999 returns Intermediate. Values consisting of a number of digits equal to or less than the max value are considered intermediate. This is intended because the digit that prevents a number from being in range is not necessarily the last digit typed. This also means that an intermediate number can have leading zeros.

The minimum and maximum values are set in one call with setRange() , or individually with setBottom() and setTop() .

QIntValidator uses its locale() to interpret the number. For example, in Arabic locales, QIntValidator will accept Arabic digits.

Note

The NumberOptions set on the locale() also affect the way the number is interpreted. For example, since RejectGroupSeparator is not set by default, the validator will accept group separators. It is thus recommended to use toInt() to obtain the numeric value.

class PySide2.QtGui.QIntValidator([parent=None])

PySide2.QtGui.QIntValidator(bottom, top[, parent=None])

param parent:

PySide2.QtCore.QObject

param bottom:

int

param top:

int

Constructs a validator with a parent object that accepts all integers.

Constructs a validator with a parent , that accepts integers from minimum to maximum inclusive.

PySide2.QtGui.QIntValidator.bottom()
Return type:

int

This property holds the validator’s lowest acceptable value.

By default, this property’s value is derived from the lowest signed integer available (-2147483648).

See also

setRange()

PySide2.QtGui.QIntValidator.bottomChanged(bottom)
Parameters:

bottom – int

PySide2.QtGui.QIntValidator.setBottom(arg__1)
Parameters:

arg__1 – int

This property holds the validator’s lowest acceptable value.

By default, this property’s value is derived from the lowest signed integer available (-2147483648).

See also

setRange()

PySide2.QtGui.QIntValidator.setRange(bottom, top)
Parameters:
  • bottom – int

  • top – int

Sets the range of the validator to only accept integers between bottom and top inclusive.

PySide2.QtGui.QIntValidator.setTop(arg__1)
Parameters:

arg__1 – int

This property holds the validator’s highest acceptable value.

By default, this property’s value is derived from the highest signed integer available (2147483647).

See also

setRange()

PySide2.QtGui.QIntValidator.top()
Return type:

int

This property holds the validator’s highest acceptable value.

By default, this property’s value is derived from the highest signed integer available (2147483647).

See also

setRange()

PySide2.QtGui.QIntValidator.topChanged(top)
Parameters:

top – int