在QML Text元素中但在GridLayout中启用“ elide”属性

Enr*_*H73 3 qml qtquick2

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

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
        }

    }
}
Run Code Online (Sandbox Code Playgroud)

小智 6

更改width: 50Layout.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
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

结果: 在此处输入图片说明