在Qt5中将QAction连接到nonmember-qt函数

km2*_*442 1 c++ qt signals-slots

我想在我的TrayIcon中添加一个按钮(在Qt5.5中).(我正在使用QMenu,QAction)当我点击它时,我想调用公共的非Qt函数.如何连接到此SIGNAL?

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);
    }
Run Code Online (Sandbox Code Playgroud)

dte*_*ech 7

在Qt 5中,您可以连接到常规成员函数,自由函数或lambda表达式,但必须使用新语法

connect(ExampleAction, &QAction::triggered, exfunction);
Run Code Online (Sandbox Code Playgroud)