问题
I got this code in qt creator;
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(action1);
TrayIcon.setContextMenu(&menu);
return oApp.exec();
}
but how can i make that when i open the menu and press on action1 that it execute a function?
thnx very much!
回答1:
Create new class (derived from QObject) with a slot called, e.g. myslot, then:
class MyClass : public QObject {
Q_OBJECT
...
public slots:
void mySlot();
};
myObject = new MyClass();
connect(action1, SIGNAL(triggered()), myObject, SLOT(mySlot()));
来源:https://stackoverflow.com/questions/3084825/c-qt-tray-icon-menu-action