Qt Quick 文本输入处理与验证器

文本输入和验证

文本视觉类型

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

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

验证输入文本

验证器类型强制执行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}
    }
}

验证器类型绑定到TextInputvalidator属性。

Column {
    spacing: 10

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

代码片段中的正则表达式将只允许输入的文本为fruit basket

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