如何更改 QML TextField 中的 placeholderText 颜色

Posted

技术标签:

【中文标题】如何更改 QML TextField 中的 placeholderText 颜色【英文标题】:How can i change the placeholderText color in QML TextField 【发布时间】:2019-06-25 11:55:14 【问题描述】:

我尝试使用 TextField Styled 但对占位符文本没有影响,如何更改 placeholderText 的颜色

【问题讨论】:

【参考方案1】:

TextField 有一个属性placeholderTextColor 专用于颜色:

使用 Qt Quick Controls 2(至少需要 Qt 5.12):

import QtQuick.Controls 2.5
TextField 
    anchors.fill: parent
    placeholderText: "Here is a place holder"
    placeholderTextColor: "red"

使用 Qt 快速控件 1:

import QtQuick.Controls 1.4
import QtQuick.Controls.Styles 1.4
TextField 
      anchors.fill: parent
      style: TextFieldStyle 
          placeholderTextColor: "red"
      
      placeholderText: "Here is a place holder"

【讨论】:

这是我得到的错误:qrc:/main.qml:76 无法分配给不存在的属性“placeholderTextColor” @NokiasBonoloNeo 您是否在使用 QtQuick Controls 1? (此答案适用于 Controls 2) 嗯,这是支持文件:doc.qt.io/qt-5/… 我已经用 Qt Quick 两个版本的示例更新了我的答案 请注意“此属性是在 QtQuick.Controls 2.5 (Qt 5.12) 中引入的。”文档中的句子。您需要 Qt 5.12,并且导入必须是 QtQuick.Controls 2.5。

以上是关于如何更改 QML TextField 中的 placeholderText 颜色的主要内容,如果未能解决你的问题,请参考以下文章

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

如何使 QML TextField 绑定在 Android 下工作?

qml Textfield中的换行符,文本属性不起作用

在 Python 中访问 QML TextField 值

如何在qml中的行元素内提供自定义间距

如何更改 TextField 中的字段大小?