也许我误会了一些东西,但是当我用TextFieldplaceholderText中设置输入掩码时,此占位符未显示。

发生这种情况时,我们看到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; }
}

关于c++ - 使用inputMask时,不会显示“文本字段”中的占位符文本,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34946141/

10-12 22:50