PyQt鼠标双击标签

时间:2016-07-08 04:04:07

标签: python-3.x mouseevent pyqt4

我以前从未使用事件过滤,因此我从下载的示例(已经工作)中添加了以下代码: -

def eventFilter(self, source, event):
    if (event.type() == QtCore.QEvent.MouseMove and
        source is self.label):
        pos = event.pos()
        print('mouse move: (%d, %d)' % (pos.x(), pos.y()))
    if (event.type() == QtCore.QEvent.MouseButtonDblClick and
        source is self.label):
        print('Double click')
    return QtGui.QWidget.eventFilter(self, source, event)

我正在使用QTDesigner创建主窗口,如下所示

class View(QtGui.QMainWindow, form_class):    # any super class is okay
    def __init__(self, router, parent=None, job=None):
        super(View, self).__init__(parent)
        self.setupUi(self)

然后添加此代码以实现鼠标双击标签的检测。

        self.label.setMouseTracking(True)
        self.label.installEventFilter(self)

代码在我下载的示例中运行正常,但在我的应用程序中没有。

是否有关于使用QTDesigner创建使代码无效的窗口的内容?

我发现的大多数其他示例都是处理鼠标事件而不是双击事件。

0 个答案:

没有答案