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



我有一个名为save的现有菜单,我想在其中添加两个菜单,保存新菜单和保存编辑。

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 )
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()));

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

最新更新