2015-12-24 41 views
0

如何重載任何方法在PyQt的如何重載QToolBar.addAction()方法

class Main_Window(QMainWindow): 
    def __init__(self, parent = None): 
     super(Main_Window,self).__init__(parent) 
     self.initUI() 

    def initUI(self): 
     dialog_window = QAction('&Create Plugin', self 
     dialog_window.triggered.connect(self.showdialog) 
     toolbar = self.addToolBar('Exit') 
#  toolbar.addAction(QIcon("plugin0.png"),'',self.showdialog) 

我想重載QToolBar.addAction(個體經營,QIcon圖標,可調用的接收器)

.... .....

 toolbar.addAction(QIcon("plugin0.png"),self.showdialog) 
     self.setGeometry(300, 300, 300, 200) 
     self.setWindowTitle('Menubar') 
     self.show() 

    def showdialog(self): 
     d = Dialog_window() 
     d.exec_() 


def main(): 

    app = QApplication(sys.argv) 
    ex = Main_Window() 
    sys.exit(app.exec_()) 
+0

子類'QToolBar'並定義你自己的'addAction(...)'函數。 – Marcus

+0

謝謝,但我需要一些例子 – Tigran84

+0

重載做什麼? – Mel

回答

0

一個小簡單的例子...

class MyToolBar(QToolBar) : 
    """Class doc 
    """ 

    def __init__(self, parent) : 
     """Class initialiser 
     """ 

     QToolBar.__init__(self, parent) 

    def addAction(self, icn, func) : 

     act = QAction(icon, QString(), self) 
     self.addAction(act)