C++Qt获取QMenuBar里的所有的menu
时间: 2024-10-23 10:14:48 浏览: 24
在C++ Qt中,如果你想获取`QMenuBar`中的所有菜单,你可以通过`QMenuBar`的`actions()`成员函数来实现。这个函数返回的是包含`QAction`对象的容器,每个`QAction`代表`QMenuBar`中的一个菜单项。
下面是一个简单的示例:
```cpp
#include <QApplication>
#include <QMenuBar>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建QMenuBar
QMenuBar *menuBar = new QMenuBar;
// 添加一些菜单
QAction *fileMenu = menuBar->addMenu("文件");
QAction *editMenu = menuBar->addMenu("编辑");
// 现在你可以获取所有的菜单
QList<QAction*> allActions = menuBar->actions();
foreach (QAction *action, allActions) {
qDebug() << "菜单名称:" << action->text();
}
return app.exec();
}
```
在这个例子中,我们首先创建了一个`QMenuBar`,然后添加了两个菜单。然后,通过`actions()`获取到所有的`QAction`并遍历它们,显示出每个菜单项的文本。
阅读全文