QML TextEdit中的占位符文本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QML TextEdit中的占位符文本相关的知识,希望对你有一定的参考价值。

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

enter image description here

是否有我缺少的属性,或者这是必须通过脚本实现的东西?

答案

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
        }
    }
}
另一答案

这有点旧,但我发现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 // <----------- ;-)
    }
}

以上是关于QML TextEdit中的占位符文本的主要内容,如果未能解决你的问题,请参考以下文章

布局中的片段占位符

谷歌翻译,输入类型='文本'中的占位符文本

如何删除 JavaScript 中的占位符文本? [复制]

Zend 文本元素中的占位符文本

如何更改 QML TextField 中的 placeholderText 颜色

CSS 选择:ID 中的占位符