qt 举个QMenuBar添加QWidgetAction的例子
时间: 2023-07-12 13:23:28 浏览: 98
QT菜单QMenuBar接口介绍.7z
好的,以下是一个简单的例子,演示如何在 QMenuBar 中添加一个包含 QPushButton 的 QWidgetAction:
```cpp
#include <QtWidgets>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
QMainWindow window;
QMenuBar *menuBar = window.menuBar();
// 创建一个 QAction,并将其设置为 QMenuBar 的 “File” 菜单项
QAction *fileAction = new QAction("File", &window);
QMenu *fileMenu = menuBar->addMenu(fileAction);
// 创建一个 QWidgetAction,并将其设置为 “File” 菜单项的子项
QWidgetAction *widgetAction = new QWidgetAction(&window);
QPushButton *button = new QPushButton("Button");
QWidget *widget = new QWidget();
QHBoxLayout *layout = new QHBoxLayout(widget);
layout->addWidget(button);
widgetAction->setDefaultWidget(widget);
fileMenu->addAction(widgetAction);
window.show();
return app.exec();
}
```
运行程序后,可以看到在 “File” 菜单项的右侧出现了一个箭头,点击箭头后会显示一个包含 QPushButton 的子菜单项。
阅读全文