Ok, after a lot of things I understood what I was doing wrong:

from PyQt5 import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtCore import * class ExtendedQLabel(QLabel): def __init(self, parent): super().__init__(parent) clicked = pyqtSignal() rightClicked = pyqtSignal() def mousePressEvent(self, ev): if ev.button() == Qt.RightButton: self.rightClicked.emit() else: self.clicked.emit() if __name__ == '__main__': app = QApplication([]) eql = ExtendedQLabel() eql.clicked.connect(lambda: print('clicked')) eql.rightClicked.connect(lambda: print('rightClicked')) eql.show() app.exec_()