忽略PyQt中的父事件或QAction中的Qt

时间:2017-10-12 21:25:42

标签: python qt pyqt pyqt4 pyqt5

我是一个QAction的子类,我想自己定制类的一些函数,我试图处理像enterEvent,mouseMoveEvent,mousePressEvent这样的鼠标事件..但我不能这样做,我想我必须忽略父母事件,为了使它工作,但我怎么能存档这个?

# -------------------------------------------------------------

class ColtAction(qg.QAction):
    def __init__(self, *args, **kwargs):
        super(ColtAction,self).__init__(*args, **kwargs)

        print('action')


    def enterEvent(self, event):
        super(ColtAction,self).enterEvent(event)
        event.accept()
        print('enter')

    def mouseMoveEvent(self, event):
        super(ColtAction,self).mouseMoveEvent(event)
        print("On Hover") # event.pos().x(), event.pos().y()
        event.accept()


    def mousePressEvent(self, event):
        super().mousePressEvent(event)
        if event.button() == qc.Qt.LeftButton:
            event.accept()
            self.clicked.emit()

操作已连接到UI的另一部分中的菜单

    ###########################################
    #Menu Bar and action gestion ..
    #
    menuBar = qg.QMenuBar()        
    fileMenu = menuBar.addMenu('File')       
    closeAction = ColtAction.ColtAction('CloseWindow', menuBar)        

    fileMenu.addAction(referenceAction)
    fileMenu.addAction(closeAction)

我无法得到这些事件..我怎么能归档这个?也许QMenu正在控制行动事件..

0 个答案:

没有答案