1

我有一个名为 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);

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

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

我该怎么做?。

4

1 回答 1

8
menu->addAction("Save New", this, SLOT(saveNew()));

使用您将在该connect调用中使用的相同参数:

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

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

connect(ui.saveAction, SIGNAL(triggered()), this, SLOT(saveNew()));

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

于 2011-09-02T14:15:23.733 回答