Back button click Android not registered in Qt Webview
-
I am creating a small Android application in Qt 5.10. The application consists of a main.qml that holds a Qt StackView. In this StackView one Qt Flickable page is defined with a button on it to navigate to a new page, which is a Qt WebView. After navigation, this WebView will load a local HTML page. But when I hit the Android back button on the second page the app will not navigate back to the first one. See the code below for more information.
main.qml
import QtQuick 2.10 import QtQuick.Controls 2.2 ApplicationWindow { id: appWindow visible: true StackView { id: navPane anchors.fill: parent initialItem: pageOne Keys.onBackPressed: { popOnePage() } function popOnePage() { if(navPane.depth == 1) return pop() } function pushOnePage(pageComponent) { push(pageComponent) } } Component { id: pageOne PageOne {} } Component { id: pageTwo PageTwo {} } }
PageOne.qml
import QtQuick 2.10 import QtQuick.Controls 2.2 Flickable { Button { text: "Go to page 2" anchors.centerIn: parent onClicked: { navPane.pushOnePage(pageTwo) } } }
PageTwo.qml
import QtQuick 2.10 import QtWebView 1.1 WebView { id: webView url: initialUrl //link to local HTML file }
After some debugging I found out that the Keys.onBackPressed signal is never received. But when I use a Flickable instead of a WebView the signal will be received and the navigation works as expected. Can someone tell me if it is possible to receive this signal while using a WebView or maybe tell me what I am doing wrong? It will also do for me if there exists another component that can work with HTML. Any help would be greatly appreciated!