Qt Quick 文本输入处理和验证器#

文本输入和验证

文本视觉类型#

Qt Quick 提供了多种类型将文本显示到屏幕上。Text 类型将显示格式化文本到屏幕上,TextEdit 类型将在屏幕上放置一个多行文本编辑框,而 TextInput 将在屏幕上放置一个单行可编辑字段。

要了解更多关于它们的具体特性和属性,请访问它们的相应文档。

验证输入文本#

validator 类型强制执行 TextInput 对象的类型和格式。

qml-qtquick-intvalidator.html

定义整数值的验证器。

qml-qtquick-doublevalidator.html

定义非整数数的验证器。

qml-qtquick-regularexpressionvalidator.html

提供字符串验证器。

Column {
    spacing: 10

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

validator 类型绑定到 TextInput 的 validator 属性。

Column {
    spacing: 10

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

该简短中的正则表达式仅允许输入文本为 fruit basket。

注意,QML 解析 JavaScript 正则表达式,而 Qt 的 QRegularExpression 类的正则表达式基于 Perl 正则表达式。