如何判断是否可以返回/转发QWebEngineView?
我需要判断qwebengine是否有信号可以返回或继续前进。
我使用plasma 5.9和python 3.6.0运行Arch Linux。
答案 0 :(得分:1)
QWebEnginePage.WebActions可用于此目的。以下示例将加载谷歌,然后5秒后加载bing。再过5秒后,它将检查导航操作。这通常会在您的视图的setPage()中完成。以下代码仅用于演示API。
import sys
from PyQt5 import QtWidgets, QtCore
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEnginePage
app = QtWidgets.QApplication(sys.argv)
w = QWebEngineView()
w.load(QtCore.QUrl('http://google.com'))
def _test_navigaion():
w.load(QtCore.QUrl('http://bing.com'))
QtCore.QTimer.singleShot(5000, _test_navigaion2)
def _test_navigaion2():
print('back enabled', w.page().action(QWebEnginePage.Back).isEnabled())
print('forward enabled', w.page().action(QWebEnginePage.Forward).isEnabled())
QtCore.QTimer.singleShot(5000, _test_navigaion)
w.show()
app.exec_()