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 и т. Д.), Не будет работать из коробки.