QML TextEdit中的占位符文本

时间:2016-11-01 08:39:45

标签: qml qt-quick

我正在寻找一种方法来显示文本提示,说明预期输入作为用户的建议。以Google搜索栏为例:

enter image description here

是否存在我遗失的属性,或者这是否必须通过脚本实现?

3 个答案:

答案 0 :(得分:13)

Qt Quick输入项目上不存在该属性。您可以为功能here投票。

与此同时,您可以使用Qt Quick Controls 2中的TextArea

如果您更愿意使用纯Qt Quick,您可以执行与控件相似的操作,并在字段上方添加Text项:

import QtQuick 2.5
import QtQuick.Window 2.2

Window {
    width: 300
    height: 300
    visible: true

    TextEdit {
        id: textEdit
        width: 200
        height: 50

        property string placeholderText: "Enter text here..."

        Text {
            text: textEdit.placeholderText
            color: "#aaa"
            visible: !textEdit.text
        }
    }
}

答案 1 :(得分:1)

这有点旧,但是我发现 Android版本的另一种必要。 由于Android仅在您按下虚拟键盘中的ok之后才发送文本编辑信号,因此占位符将保留在那里。因此,为避免这种情况,我建议:

TextEdit {
    id: textEdit
    width: 200
    height: 50

    property string placeholderText: "Enter text here..."

    Text {
        text: textEdit.placeholderText
        color: "#aaa"
        visible: !textEdit.text && !textEdit.activeFocus // <----------- ;-)
    }
}

答案 2 :(得分:0)

如果要输入一行,为什么不使用TextField