在 Qt 4.7 中,如何将弹出菜单添加到 QToolbar 按钮?

新手上路,请多包涵

我是 Qt 的新手,目前正在使用 Qt Creator 和原始 C++ 代码。我设法让一些简单的功能正常工作,包括通过向两者添加 QAction 对象的菜单和工具栏。但是我遇到了一些困难:

我想做的是有一个菜单选项,它有一个子菜单,例如新建,有一个带有几个项目的子菜单,然后在 QToolbar 上复制它。我在菜单中管理它:New 作为 QMenu,子菜单项作为 QAction 对象。我看不到如何让它在工具栏中工作,例如一个新按钮,当单击该按钮时,它将运行“默认”QAction(例如第一个子菜单项),但右侧有一个较小的菜单按钮提供所有其他选项。我想这类似于 Office 工具栏上的撤消/重做按钮。

原文由 BWHazel 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 629
1 个回答

我相信 QToolButton 小部件应该适用于您正在尝试做的事情,看看下面的示例是否适合您:

 QMenu *menu = new QMenu();
QAction *testAction = new QAction("test menu item", this);
menu->addAction(testAction);

QToolButton* toolButton = new QToolButton();
toolButton->setMenu(menu);
toolButton->setPopupMode(QToolButton::InstantPopup);
toolBar->addWidget(toolButton);

希望这会有所帮助,问候

原文由 serge_gubenko 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题