Qt Quick Text Input Handling and Validators

Text input and validation

Text Visual Types

Qt Quick provides several types to display text onto the screen. The Text type will display formatted text onto the screen, the TextEdit type will place a multiline line edit onto the screen, and the TextInput will place a single editable line field onto the screen.

To learn more about their specific features and properties, visit their respective documentation.

Validating Input Text

The validator types enforce the type and format of TextInput objects.

qml-qtquick-intvalidator.html

Defines a validator for integer values.

qml-qtquick-doublevalidator.html

Defines a validator for non-integer numbers.

qml-qtquick-regularexpressionvalidator.html

Provides a string validator.

Column {
    spacing: 10

    Text {
        text: "Enter a value from 0 to 2000"
    }
    TextInput {
        focus: true
        validator: IntValidator { bottom:0; top: 2000}
    }
}

The validator types bind to TextInput's validator property.

Column {
    spacing: 10

    Text {
        text: "Which basket?"
    }
    TextInput {
        focus: true
        validator: RegularExpressionValidator { regularExpression: /fruit basket/ }
    }
}

The regular expression in the snippet will only allow the inputted text to be fruit basket.

Note that QML parses JavaScript regular expressions, while Qt’s QRegularExpression class’ regular expressions are based on Perl regular expressions.