Home | All Classes | Main Classes | Annotated | Grouped Classes | Functions |

# QIntValidator Class Reference

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

    #include <QIntValidator>

Inherits QValidator.

- List of all members, including inherited members
- Obsolete members

### Writable Properties

- bottom : int
- top : int

- 1 writable property inherited from QObject

### Public Functions

- QIntValidator ( QObject * parent )
- QIntValidator ( int minimum, int maximum, QObject * parent )
- ~QIntValidator ()
- virtual void setRange ( int bottom, int top )
- virtual QValidator::State validate ( QString & input, int & pos ) const

- 2 public functions inherited from QValidator
- 24 public functions inherited from QObject

### Public Slots

- 1 public slot inherited from QObject

### Signals

- 1 signal inherited from QObject

### Static Public Members

- 4 static public members inherited from QObject

### Protected Functions

- 9 protected functions inherited from QObject

## Detailed Description

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

Example of use:

        QValidator *validator = new QIntValidator(100, 999, this);
        QLineEdit *edit = new QLineEdit(this);

        // 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.

        QString str;
        int pos = 0;
        QIntValidator v(100, 999, this);

        str = "1";
        v.validate(str, pos);     // returns Intermediate
        str = "12";
        v.validate(str, pos);     // returns Intermediate

        str = "123";
        v.validate(str, pos);     // returns Acceptable
        str = "678";
        v.validate(str, pos);     // returns Acceptable

        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

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

See also QDoubleValidator and QRegExpValidator.

## Property Documentation

### bottom : int

This property holds the validator's lowest acceptable value.

Access functions:

- int bottom () const
- void setBottom ( int )

See also setRange().

### top : int

This property holds the validator's highest acceptable value.

Access functions:

- int top () const
- void setTop ( int )

See also setRange().

## Member Function Documentation

### QIntValidator::QIntValidator ( QObject * parent )

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

### QIntValidator::QIntValidator ( int minimum, int maximum, QObject * parent )

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

### QIntValidator::~QIntValidator ()

Destroys the validator.

### void QIntValidator::setRange ( int bottom, int top ) `[virtual]`

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

### QValidator::State QIntValidator::validate ( QString & input, int & pos ) const `[virtual]`

Returns `Acceptable` if the input is an integer within the valid range, `Intermediate` if the input is an integer outside the valid range and `Invalid` if the input is not an integer.

Note: If the valid range consists of just positive integers (e.g. 0 - 100) and input is a negative integer then Invalid is returned.

        int pos = 0;
        s = "35";
        v.validate(s, pos); // returns Acceptable

        s = "105";
        v.validate(s, pos); // returns Intermediate

        s = "abc";
        v.validate(s, pos); // returns Invalid

By default, the pos parameter is not used by this validator.

Reimplemented from QValidator.