Qt/QML:将 WebEngineView 放在 ListView 中并调用 loadHtml()

Qt/QML: Putting WebEngineView in a ListView and calling loadHtml()

本文关键字:调用 loadHtml ListView 放在 QML WebEngineView Qt      更新时间:2023-10-16

如果我在ListView委托中有WebEngineView,如何在加载委托时调用loadHtml?例如:

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

以上显示了我想做什么的想法。是否有我可以为每个委托项目挂接到的信号,我可以在其中调用myWebView.loadHtml()

我不知道WebEngineViewtext属性,但到目前为止我从未使用过它。

我认为,您想要的是这样的Component.onCompleted处理程序:

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

我不知道您的用例,但是loadHtml方法具有第二个参数,用于baseURL查找您可能需要的 CSS 或图像等资源。