为自动创建的菜单项添加插槽

Gan*_*alf 1 qt qt4 qmenu

我有一个名为save的现有菜单,在其中我想添加两个菜单,Save New和Save Edits.

QMenu *menu = new QMenu(this);
menu->addAction("Save New");//void saveNew()
menu->addAction("Save Edits");//void saveEdits()
ui.saveButton->setMenu(menu);
Run Code Online (Sandbox Code Playgroud)

我已经找到了合适的功能并找到了这个,但我需要帮助实现它.

QAction * QMenu::addAction ( const QString & text, const QObject * receiver, const char * member, const QKeySequence & shortcut = 0 )
Run Code Online (Sandbox Code Playgroud)

我该怎么做?.

ale*_*sdm 8

menu->addAction("Save New", this, SLOT(saveNew()));
Run Code Online (Sandbox Code Playgroud)

使用与该connect调用中相同的参数:

QAction *saveAction = menu->addAction("Save New");
connect(saveAction, SIGNAL(triggered()), this, SLOT(saveNew()));
Run Code Online (Sandbox Code Playgroud)

如果菜单是在设计器中创建的,则可以连接同时创建的相应操作:

connect(ui.saveAction, SIGNAL(triggered()), this, SLOT(saveNew()));
Run Code Online (Sandbox Code Playgroud)

或使用信号/插槽编辑器直接连接设计器内的操作.