仅qml虚拟键盘数字

qml virtual keyboard digits only

我正在查看带有 Qt 5.9 安装的虚拟键盘的基本 QML 示例。一个只接受数字的文本域可以被实例化如下:

TextField {
    id: digitsField
    width: parent.width
    previewText: "Digits only field"
    inputMethodHints: Qt.ImhDigitsOnly
    enterKeyAction: EnterKeyAction.Next
    onEnterKeyClicked: textArea.focus = true
}

问题是我还可以通过虚拟键盘输入空格和句点 .(我不确定确切的字符是否取决于语言环境)。我不确定为什么允许这些,因为它们不是数字。有没有可能真的只有数字?

您可以使用inputMask or validator获得更细粒度的控制,如下所示:

inputMask: "000000" // Allows up to 6 digits, i.e. 1 digit for each 0

validator: IntValidator {} // Allows any integer