繁体   English   中英

检测 QWebEngineView 上的鼠标点击

[英]Detect mouse clicks on QWebEngineView

如何检测 QWebEngineView 小部件中的鼠标点击?

我试过这个但不起作用:

class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        QtWidgets.QWidget.__init__(self, parent)

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)
        self.ui.view.installEventFilter(self)

    def eventFilter(self, obj, event):
        if event.type() == event.MouseButtonPress:
             print ("Widget click")
        return super(QtWidgets.QMainWindow, self).eventFilter(obj, event)

假设视图是 QWebEngineView object 并且您想要跟踪其鼠标事件,那么您应该使用 focusProxy ,它是处理这些类型事件的内部小部件。 另一方面,您必须正确应用 inheritance。

class MyWin(QtWidgets.QMainWindow):
    def __init__(self, parent=None):
        super(MyWin, self).__init__(parent)

        self.ui = Ui_MainWindow()
        self.ui.setupUi(self)

        self.ui.view.focusProxy().installEventFilter(self)

    def eventFilter(self, obj, event):
        if obj is self.ui.view.focusProxy() and event.type() == event.MouseButtonPress:
            print("Widget click")
        return super(MyWin, self).eventFilter(obj, event)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM