如何只允许在qml中的textField中输入某些数字

how to allow only certain numbers to be entered inside textField in qml

我有一个 TextField,如代码所示,我必须确保用户只输入 100-5000 之间的数字。

TextField{
                id:custom_entry
                objectName: "custom_entry"
                width: 200
                placeholderText: "Enter 100ms - 5000ms"
                validator: IntValidator {bottom: 100; top: 5000;}
            }

我已经尝试使用验证器,我可以输入任何 4 位数字,甚至是 9999,我如何在 QML 中限制它。

您可以像这样使用 RegularExpressionValidator :

    TextField{
        validator: RegularExpressionValidator{
            regularExpression: /^[1-9][0-9]{2}|[1-4][0-9]{3}|5000/
        }
    }

只要用户可以输入 999 这样的数字,那么 TextField 也将允许输入 99 这样的数字。您始终可以检查 TextField 的只读 属性 acceptableInput 以确保输入的值在范围内。