占位符文本 文本字段中的文本在使用输入掩码时不显示

placeholderText in TextFields is not shown when inputMask is used

本文关键字:文本 掩码 输入 显示 字段 占位符      更新时间:2023-10-16

也许我误解了什么,但是当我在带有placeholderTextTextField中设置输入掩码时,此占位符未显示。

发生这种情况时,我们看到TextField为空,没有文本。在下一个示例中,textField1仅显示一个点 (.) 作为inputMask的一部分。

我正在使用Qt 5.5.0。可以使用以下示例检查此行为。

import QtQuick 2.5
import QtQuick.Controls 1.4
ApplicationWindow {
    visible: true
    width: 800
    height: 600
    TextField {
        id: textField1
        placeholderText: "0.0"
        inputMask: "999.99"
    }
    TextField {
        id: textField2
        anchors.top: textField1.bottom
        placeholderText: "0.0"
    }
}
事实上,

它不适用于inputMask。如果定义 inputMask ,则字段在创建时不为空,因此placeholderText不会激活。我不确定它可以被视为一个错误(对我来说是),但如果不是,我认为它应该被记录下来。

最糟糕的是,即使inputMask中只有数字,该字段仍然用空格初始化。

注意,在您的情况下,您可以使用验证器或inputMethodHints标志代替。

TextField {
    id: textField1
    placeholderText: "0.0"
    validator: DoubleValidator { top: 999; decimals: 2; }
}