2010-06-21 68 views
1

我在qt的創造者這個代碼;c + + qt托盤圖標菜單動作

int main(int argc, char* argv[]) 
{ 
    QApplication oApp(argc, argv); 

    QAction *action1; 
    QMenu menu; 

    QSystemTrayIcon TrayIcon(QIcon("favicon.ico")); 

    TrayIcon.show(); 

    action1= new QAction("action1", NULL); 

    action1->setStatusTip("Create a new file"); 


    menu.addAction(bf2142); 
    TrayIcon.setContextMenu(&menu); 
    return oApp.exec(); 
} 

但我怎麼能讓我當我打開菜單,並按下action1它執行一個函數?

thnx非常多!

回答

3

創建一個新的類(派生自QObject),其中有一個被稱爲的插槽。 myslot,那麼:

class MyClass : public QObject { 
Q_OBJECT 
... 
public slots: 
    void mySlot(); 
}; 

myObject = new MyClass(); 
connect(action1, SIGNAL(triggered()), myObject, SLOT(mySlot()));