根据Text.elide
的文件
如果已设置显式宽度,则文本将仅删除。
但是,如果我希望我的Text项目占用布局中的所有可用空间并忽略不适合的内容,该怎么办?
例如,具有固定宽度项目(图标,按钮...)和一些文本的布局:
RowLayout
{
id: _layout
anchors.fill: parent
Rectangle {
color: "lightblue"
height: 20
width: 20
}
Text {
text: "long words long words long words long words long words long words long words long words long words long words "
elide: Text.ElideRight
}
Rectangle {
color: "lightblue"
height: 20
width: 20
}
}
如果窗口/容器太小,此代码将被截断显示,并隐藏文本后面的项目(并且也不会像删除文本一样显示...
)。
您必须指定布局应如何限制宽度,例如有:
Text {
text: "long words long words long words long words long words long words long words long words long words long words "
elide: Text.ElideRight
Layout.fillWidth: true
}
见:http://doc.qt.io/qt-5/qml-qtquick-layouts-layout.html#fillWidth-attached-prop