我在QWebEngineView
P中使用。yQt5
无法on_click
在打开的网页上绑定鼠标事件(类型的移动和事件)。这样的尝试不会带来成功。我究竟做错了什么?
import sys
from PyQt5 import QtCore
from PyQt5.QtWebEngineWidgets import QWebEngineView, QWebEngineSettings
from PyQt5.QtWidgets import QWidget
from PyQt5.QtWidgets import QStackedWidget
from PyQt5.QtCore import QModelIndex, QUrl
from PyQt5.QtWidgets import QBoxLayout
from PyQt5.QtWidgets import QApplication
from PyQt5.QtCore import Qt
class MouseFilter(QtCore.QObject):
@QtCore.pyqtSlot()
def eventFilter(self, obj, event):
print(obj, event)
return super().eventFilter(obj, event)
class Web(QWebEngineView):
def load(self, url):
self.setUrl(QUrl(url))
self.page().settings().setAttribute(QWebEngineSettings.ShowScrollBars, False)
class Root(QWidget):
def __init__(self):
QWidget.__init__(self, flags=Qt.Widget)
self.stack_widget = QStackedWidget(self)
box = QBoxLayout(QBoxLayout.TopToBottom)
web_browser = Web()
web_browser.load("url")
mouse_filter = MouseFilter()
web_browser.installEventFilter(mouse_filter)
self.stack_widget.addWidget(web_browser)
box.addWidget(self.stack_widget)
self.setLayout(box)
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Root()
form.show()
exit(app.exec_())
试试这样: