【发布时间】:2017-03-23 00:27:19
【问题描述】:
我在 ListView 中有一堆 WebEngineView。例如:
ListView
{
model: myModel
delegate: Component
{
Item
{
WebEngineView
{
id: myWebView
Component.onCompleted: loadHtml(model.modelData.htmlText, baseURL)
}
}
}
}
加载 html 后如何调整 Item 的高度?有问题的 HTML 可能包含图像,因此我想在加载所有内容后调整 WebEngineView 的大小。我怀疑我可以这样做:
ListView
{
model: myModel
delegate: Component
{
Item
{
WebEngineView
{
id: myWebView
Component.onCompleted: loadHtml(model.modelData.htmlText, baseURL)
onLoadingChanged:
{
if (!loading && loadRequest.status == WebEngineView.LoadSucceededStatus)
{
height = ????
}
}
}
}
}
}
但我不确定我应该设置什么高度。
【问题讨论】:
-
赋值给什么值?无论如何,您应该将大小设置为父项,因为现在它的高度/宽度为零,因此将
achors.fill: parent设置为myWebView。顺便说一句,Item在这里过分了。 -
只是一个小旁注:在您的情况下,将
WebEngineView包装在Component中是完全没有必要的。我也找不到任何理由将其包装在Item中(除非WebEngineView本身不是Item,因此可能不会用作委托?) -
感谢您关于删除
Item的建议。在此示例中可能过多,但在我的实际代码中,我在委托中有其他对象。我将更新问题以更好地反映我正在尝试做的事情。 -
我没试过,但你可能在找
contentSize