2015-10-20 52 views
1

我想向我的TrayIcon(在Qt5.5中)添加一個按鈕。 (我正在使用QMenu,QAction)當我點擊它時,我想要調用公共的非Qt函數。如何連接到此SIGNAL?將QAction連接到Qt5中的非成員-QT功能

mainwindow.h: 
private: 
    void tray(); 
    QMenu *trayIconMenu; 
    QAction *ExampleAction; 

mainwindow.cpp: 

    void exfunction() 
    { 
    } 

    void MainWindow::tray() 
    { 
     ExampleAction = new QAction(tr("Sample Text"), this); 
     connect(ExampleAction,SIGNAL(triggered()), exfunction()); //How to propertly connect it? 

     trayIconMenu = new QMenu(this); 
     trayIconMenu->addAction(ExampleAction); 
    } 

回答

5

在Qt 5,你可以連接到一個普通的成員函數,一個自由函數或lambda表達式,但你必須使用new syntax

connect(ExampleAction, &QAction::triggered, exfunction);