Qt / QML: WebEngineView, регулирующий высоту

У меня есть куча WebEngineViews в ListView. Например:

ListView
{
model: myModel
delegate: Component
{
Item
{
WebEngineView
{
id: myWebView
Component.onCompleted: loadHtml(model.modelData.htmlText, baseURL)
}
}
}
}

Как я могу отрегулировать высоту элемента после загрузки HTML? Рассматриваемый 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 = ????
}
}
}
}
}
}

Но я не уверен, что я должен установить высоту.

1

Решение

Я смог сделать то, что хотел с помощью onContentsSizeChaged, примерно так:

ListView
{
model: myModel
delegate: Component
{
Item
{
WebEngineView
{
id: myWebView
Component.onCompleted: loadHtml(model.modelData.htmlText, baseURL)

onContentsSizeChanged:
{
myWebView.height = contentsSize.height;
}
}
}
}
}
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]