根据Text.elide
的文档
只有设置了明确的宽度,文本才会消失。
但是,如果我希望我的文本项占用布局中的所有可用空间并淘汰不适合的内容,怎么办?
例如,具有固定宽度的项目(图标,按钮...)和一些文本的布局:
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
}
}
如果窗口/容器太小,此代码将被截断,并在文本后隐藏项目(也不会像省略的文本一样显示...
)。
答案 0 :(得分:2)
您必须指定布局应如何限制宽度,例如与:
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