如何在没有固定大小的布局中忽略文本项?

问题描述 投票:0回答:1

根据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
    }
}

如果窗口/容器太小,此代码将被截断显示,并隐藏文本后面的项目(并且也不会像删除文本一样显示...)。

qt qml
1个回答
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

© www.soinside.com 2019 - 2024. All rights reserved.