Qt QML:使用RichText时将文本换行到高度

Qt QML:使用RichText时将文本换行到高度,qt,qml,qt5,Qt,Qml,Qt5,我试图在QMLText对象中显示一个长(ish)HTML文件 当文本长度超过当前视口中显示的长度时,文本将被截断 (即,仅显示最后一行文本的一半,而隐藏下半行) 通常,我会使用elide或maximumLineCount,但当使用富文本时,这些属性都不起作用。 因为这是一个完整的HTML文档,所以它必须是RichText而不是StyledText 例如: Rectangle { width: 300; height: 400; Text { id: tex

我试图在QML
Text
对象中显示一个长(ish)HTML文件

当文本长度超过当前视口中显示的长度时,文本将被截断 (即,仅显示最后一行文本的一半,而隐藏下半行)

通常,我会使用elide或maximumLineCount,但当使用富文本时,这些属性都不起作用。 因为这是一个完整的HTML文档,所以它必须是RichText而不是StyledText

例如:

Rectangle {
    width: 300;
    height: 400;
    Text {
        id: text
        anchors.fill: parent
        textFormat: Text.RichText
        wrapMode: Text.Wrap
        text: "..."
    }
}
我可以向文本或矩形中添加什么样的属性/更改,使其仅显示可以在给定宽度和高度下显示的文本


我能找到的与此相关的唯一其他问题是,但这在我的情况下并不实际。

您最好将
文本
组件包装在一个容器中,如。这是另一种选择

ScrollView {
  width: 300
  height: 400
  clip: true

  Text {
    id: text
    textFormat: Text.RichText
    text: "..."
  } 
}
或者。。。如果确实要将文本放入
rectage
并剪裁其内容,只需将
Rectangle
clip
属性设置为
true

Rectangle {
    width: 300
    height: 400
    clip: true

    Text {
    }
}

实际上我已经在使用Flickable了,我只是在这个例子中使用了矩形。我尝试过ScrollView、Flickable等。我尝试过在ScrollView和文本中设置剪辑。什么都不管用。文本的下半部分仍然被切掉。