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

标签 c++ qt

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

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

最佳答案

我相信 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);

希望这会有所帮助,问候

关于c++ - 在 Qt 4.7 中,如何将弹出菜单添加到 QToolbar 按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5364957/

相关文章:

c++ - QPixmap加载段错误

c++ - 默认安全描述符

c++ - 用另一个和额外元素的内容初始化 C++ (11) std::vector

c++ - 在 C++ 中,哪个是最昂贵的,删除最后一个元素或调整 vector 的大小?

c++ - 静态多态的Strategy和CRTP有什么区别?

c++ - 使用 Qt 时删除 CMake 3.14.0 中的 CMP0020 错误

c++ - 什么是 SWIG 警告 503?

c++ - QWidget 的大小是有限的。我该如何改变它?

mysql - 从 Qt C++ 备份 mysql 数据库

c++ - 在 QGLWidget 中绘制一个 cv::Mat?