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

发布于 2024-12-02 10:24:32 字数 461 浏览 0 评论 0原文

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

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 )

我该怎么办?

I have an existing menu called save and in it i want to add two menus,Save New and Save Edits.

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

I have looked up for a suitable function and found this but i need help implemening it.

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

How can i do it?.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

独﹏钓一江月 2024-12-09 10:24:32
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()));

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

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

With the same parameters you would use in that connect call:

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

If the menu was created in the designer, you can connect the corresponding actions that were created at the same time:

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

or use the signal/slot editor to connect directly the actions from within the designer.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文