WebEngineView 变量 'canGoBack' 和 'canGoForward' returns 错误的值

WebEngineView variables 'canGoBack' and 'canGoForward' returns wrong values

我正在 Raspberry Pi 4 上开发 运行 的应用程序,我发现 QML 的 WebEngineView 有这种奇怪的行为。

我创建了 3 个按钮,用于转到主页和返回和前进:

  Button {
        id: box_button_main_page
        text: "Go to Main Page"
        onClicked: mainWebView.url = "https://www.youtube.com/"
    }
    Button {
        id: box_button_go_back
        enabled: mainWebView.canGoBack
        text: "Back"
        onClicked: mainWebView.goBack()
    }

    Button {
        id: box_button_go_forward
        enabled: mainWebView.canGoForward
        text: "Forward"
        onClicked: mainWebView.goForward()
    }

它按预期工作:“后退”和“前进”按钮在正确的位置变灰。但是,如果有人做出以下行为:

那么“后退”和“前进”按钮仍然可用。点击“前进”按钮什么也没做。

我在“转到主页”onClicked 操作中检查了 canGoBackcanGoForward returns true 在设置 [=18= 之后] 属性。我试图搜索是否还有另一种方法可以命令 WEV 切换到另一个页面,但是有 none :(.

我在网上没有发现任何人将其报告为错误,所以要么我做错了,要么我确实发现了错误 >_>

适用于 WebAction。看看这个 demo。我所做的就是在 ToolBar RowLayout 中添加以下 Button:

Button {
    text: "Go to Main Page"
    onClicked: webEngineView.url = "https://www.youtube.com/"
}


这是使用 WebAction 的完整示例:

import QtQuick 2.15
import QtQuick.Window 2.15
import QtWebEngine 1.10
import QtQuick.Controls 2.15
import QtQuick.Layouts 1.15

ApplicationWindow {
    id: window
    visible: true
    width: 800
    height: 600
    title: qsTr("WebEngineAction Example")

    header: ToolBar {
        RowLayout {
            anchors.fill: parent

            Button {
                text: "Go to Main Page"
                onClicked: webEngineView.url = "https://www.youtube.com/"
            }

            Button {
                property int itemAction: WebEngineView.Back
                text: "Back"
                enabled: webEngineView.action(itemAction).enabled
                onClicked: webEngineView.action(itemAction).trigger()
            }

            Button {
                property int itemAction: WebEngineView.Forward
                text: "Forward"
                enabled: webEngineView.action(itemAction).enabled
                onClicked: webEngineView.action(itemAction).trigger()
            }
        }
    }

    WebEngineView {
        id: webEngineView
        url: "https://qt.io"
        anchors.fill: parent
    }
}