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.

See also

QDoubleValidator QRegExpValidator toInt() Line Edits Example

class QIntValidator([parent=None])

QIntValidator(bottom, top[, parent=None])

param parent

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

See also

setBottom()

PySide2.QtGui.QIntValidator.bottomChanged(bottom)
Parameters

bottomint

PySide2.QtGui.QIntValidator.setBottom(arg__1)
Parameters

arg__1int

See also

bottom()

PySide2.QtGui.QIntValidator.setRange(bottom, top)
Parameters
  • bottomint

  • topint

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

PySide2.QtGui.QIntValidator.setTop(arg__1)
Parameters

arg__1int

See also

top()

PySide2.QtGui.QIntValidator.top()
Return type

int

See also

setTop()

PySide2.QtGui.QIntValidator.topChanged(top)
Parameters

topint