PyQt Mouse Двойной щелчок на ярлыке

Я никогда раньше не использовал фильтрацию событий, поэтому из загруженного примера (который работал) я добавил в свой код следующее:-

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 ответов

Другие вопросы по тегам