答案1
如果文本字段是只读的,则文本字段的背景不可见。对我来说,它们在手机和桌面上都是不可见的(15.04)。
主题样式文件
/usr/lib/x86_64-linux-gnu/qt5/qml/Ubuntu/Components/Themes/Ambiance/TextAreaStyle.qml
(qtdeclarative5-ubuntu-ui-toolkit-plugin:amd64 1.2.1458+15.04.20150422-0ub)表明这是有意的:
property Component background: UbuntuShape {
property bool error: (styledItem.hasOwnProperty("errorHighlight") && styledItem.errorHighlight && !styledItem.acceptableInput)
onErrorChanged: (error) ? visuals.errorColor : visuals.backgroundColor;
color: visuals.backgroundColor;
anchors.fill: parent
visible: !styledItem.readOnly
}
理想的解决方法(由于此版本中没有 Ubuntu.Components.Styles,因此尚不起作用)是覆盖样式:
import QtQuick 2.4
import Ubuntu.Components 1.2
import Ubuntu.Components.Styles 1.2
TextField {
readOnly: true
style: TextFieldStyle {
background: UbuntuShape {
color: Theme.palette.normal.field
anchors.fill: parent
}
}
}
现在,我只能想到这样的硬编码背景:
TextField {
readOnly: true
UbuntuShape {
z: -1
color: Theme.palette.normal.field
anchors.fill: parent
}
}