1

我试图在我的 qml 代码中使用 webview,但是滚动不适用于这两个版本的 QtQuick 和 QtWebKit。我还尝试了Flickable Web View,滚动效果很好,但固定位置的内容没有正确重新定位

我必须做些什么来解决这些问题?

PS:当我使用 QtQuick 2.0 和 QtWebKit 3.0 时,没有问题,并且对于材料限制我必须使用 1.0 版本。我使用的是 QT 5.3 版。

这是我的 qml 课程:

import QtQuick 1.0
import QtWebKit 1.0


Rectangle {
  id: container
  width: 700
  height: 300

  property string initialUrl: "http://bootstrap2modaldemo.scripting.com/"

  Rectangle {
    id: thumbnailContainer
    color: "black"

    anchors.bottom: container.bottom
    width: container.width
 }

 Rectangle {
    id: content
    width: container.width
    color: "black"
    anchors {
        top: container.top
        bottom: thumbnailContainer.top
    }

    WebView {
        id: webView
        anchors.fill: parent
        width: container.width
        opacity: 1
        url: container.initialUrl
    }
  }
}
4

1 回答 1

2

原来的 WebView 不包括滚动;如果你想要这种行为,你必须将它包装在一个 Flickable 中。从文档中

WebView 项不包括滚动、缩放、工具栏或其他常见的浏览器组件。

但正如您所指出的,将 WebView 1.0 包装在 Flickable 中是有问题的。在底层,WebKit 并不完全了解 Flickable 的滚动位置,因此任何依赖于该功能(固定定位、在 Javascript 中设置滚动位置等)的东西都不会开箱即用。

于 2014-08-26T22:10:06.913 回答