如何在QML WebView中禁用渲染?

时间:2015-08-08 16:44:57

标签: qt webview qml qtquick2 qtwebkit

我目前正在构建一个使用QML WebViewimport QtWebKit 3.0)的应用程序。用户需要经常调整WebView的大小(我正在使用QML SplitView),但这会导致UI在调整应用程序窗口大小时非常滞后。有什么方法可以防止这种情况吗?

1 个答案:

答案 0 :(得分:2)

而不是更改width的{​​{1}}和height属性更改scale的属性。

  • 在调整大小开始时保存初始值WebViewwidth
  • 调整大小时,请勿更改heightwidth。而是在调整大小开始时将height设置为newWidth除以宽度。
  • 调整大小结束时,会为这些属性设置scalewidth的新值,并将height设置为1.

编辑: 由于您无法控制scalewidth属性,因此您可以将height替换为WebView,并将颜色设置为Rectangle。然后,您可以将"transparent"放在WebView上,并观看Rectangle的{​​{1}}和width的变化情况。

现在有两件事。

如果您不知道何时开始调整大小以及何时结束使用height的间隔,例如100ms。每次RectangleTimer Timer更改时,请重新启动scale并更新width。触发height时设置为真实RectangleTimer

如果Rectangle的widthheight之比不恒定,请使用QML对象width。有了它,您可以单独更改heightScale