Ubuntu SDK QML如何更改TextField的背景颜色

我有一种情况,我的QML应用程序MainView的背景颜色导致文本字段条目在同样深棕色背景上有灰色字体。 这使得几乎不可能读取已输入文本字段的文本。

输入文本时,它很好,因为背景变为白色,现在可以看到深色文本,但是当未选择文本字段时,文本是不可读的。

有没有办法改变文本字段的背景颜色? 我已经尝试过更改文本颜色,它在不输入文本时有效,但是一旦我在文本字段中单击输入文本我就再也看不懂了,因为文本字段背景颜色变为白色而文本颜色也是很轻。

任何人都可以解决这个问题吗?

谢谢

Ubuntu SDK带有自己的样式TextField元素。 在深色背景上,您可以通过导入QtQuick.Controls (仅限14.04)使用默认的Qt版本。 它将始终呈现白色背景,但也可以使用TextFieldStyle进行样式设置:

 import QtQuick 2.0 import Ubuntu.Components 0.1 import QtQuick.Controls 1.1 import QtQuick.Controls.Styles 1.1 MainView { width: 400 height: 300 backgroundColor: "black" Column { spacing: units.gu(2) anchors.centerIn: parent TextField { placeholderText: "ask" } TextField { placeholderText: "Enter text" text: "ubuntu" style: TextFieldStyle { textColor: "black" background: Rectangle { radius: 5 color: "gold" implicitWidth: 100 implicitHeight: 24 border.color: "#333" border.width: 1 } } } } } 

它看起来像下面的截图:

在此处输入图像描述

资料来源: http : //qt-project.org/doc/qt-5/qml-qtquick-controls-styles-textfieldstyle.html