Ran*_*y_O 4 application-development qml ubuntu-sdk ubuntu-touch
我有一种情况,我的 QML 应用程序 MainView 的背景颜色导致文本字段条目在同样深棕色的背景上具有灰色字体。这使得几乎不可能阅读文本字段中输入的文本。
输入文本时很好,因为背景变为白色并且深色文本现在可见,但是当未选择文本字段时,文本是不可读的。
有没有办法更改文本字段的背景颜色?我已经尝试过更改文本颜色,它在不输入文本时有效,但是一旦我在文本字段中单击以输入文本,我就无法再阅读它,因为文本字段背景颜色变为白色并且文本颜色也是很轻。
任何人都可以建议解决这个问题?
谢谢
Ubuntu SDK 带有自己的样式化TextField元素。在深色背景下,您可以通过导入使用默认的 Qt 版本QtQuick.Controls
(仅限 14.04)。它将始终呈现白色背景,但也可以使用以下样式进行设置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
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
它看起来像下面的屏幕截图:
来源:http : //qt-project.org/doc/qt-5/qml-qtquick-controls-styles-textfieldstyle.html