Webview не прокручивается с помощью QtWebKit 1.0

Я пытаюсь использовать webview в моем qml-коде, но прокрутка не работает с этими двумя версиями QtQuick и QtWebKit. Также я попробовал Flickable Web View, прокрутка работает нормально, но содержимое с фиксированной позицией неправильно перемещается.

Что я должен сделать, чтобы исправить эти проблемы?

PS: когда я использую QtQuick 2.0 и QtWebKit 3.0, проблем не возникает, и для ограничений материалов я должен использовать версию 1.0 для обоих. И я использую версию 5.3 QT.

Это мой класс 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
    }
  }
}

1 ответ

Исходный WebView не включает прокрутку; вы должны обернуть его в Flickable, если вы хотите такое поведение. Из документации:

Элемент WebView не содержит прокрутки, масштабирования, панелей инструментов или других общих компонентов браузера.

Но, как вы указали, оборачивание WebView 1.0 во Flickable является ошибочным. Под капотом WebKit не полностью осведомлен о положении прокрутки Flickable, поэтому все, что зависит от этой функции (фиксированное позиционирование, установка положения прокрутки в Javascript и т. Д.), Не будет работать из коробки.

Другие вопросы по тегам