在 QML 文本元素中启用 "elide" 属性,但在 GridLayout 中

Enabling "elide" property in the QML Text element, but in a GridLayout

我了解 "width" 属性 必须隐式设置才能使 elide 起作用。但是,我在布局中有一个 Text 元素。当文本太长时,我想截断它。如何在 GridLayout 中的文本类型中使用 elide

import QtQuick 2.5
import QtQuick.Layouts 1.1


Rectangle {
    width: 100
    height: 20

    GridLayout {
        clip: true
        anchors.fill: parent

        rows: 1

        Text{
           text: "veryverylooooooonnnnnnnnnnnggggggggggggggtext"
           width: 50

           elide: Text.ElideRight
        }

    }
}

width: 50更改为Layout.preferredWidth: 50

import QtQuick 2.5
import QtQuick.Layouts 1.1
Rectangle {
    width: 100
    height: 20
    GridLayout {
        clip: true
        anchors.fill: parent
        rows: 1
        Text {
           text: "veryverylooooooonnnnnnnnnnnggggggggggggggtext"
           Layout.preferredWidth: 50
           elide: Text.ElideRight
        }
    }
}

结果: