要在 QMenu
中设置二级菜单,可以使用 QMenu
的 addMenu
函数创建一个子菜单,并将其添加到主菜单中。以下是一个示例代码:
#include <QApplication>
#include <QMenu>
#include <QMenuBar>
#include <QAction>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建主窗口和菜单栏
QMainWindow mainWindow;
QMenuBar menuBar(&mainWindow);
mainWindow.setMenuBar(&menuBar);
// 创建主菜单
QMenu mainMenu("主菜单");
// 创建一级菜单项
QAction action1("菜单项1");
QAction action2("菜单项2");
QAction action3("菜单项3");
// 创建二级菜单
QMenu subMenu("二级菜单");
// 创建二级菜单项
QAction subAction1("二级菜单项1");
QAction subAction2("二级菜单项2");
// 将二级菜单项添加到二级菜单中
subMenu.addAction(&subAction1);
subMenu.addAction(&subAction2);
// 将二级菜单添加为一级菜单项的子菜单
action1.setMenu(&subMenu);
// 将一级菜单项添加到主菜单中
mainMenu.addAction(&action1);
mainMenu.addAction(&action2);
mainMenu.addAction(&action3);
// 将主菜单添加到菜单栏中
menuBar.addMenu(&mainMenu);
mainWindow.show();
return app.exec();
}
在上述示例中,创建了一个主窗口和菜单栏。然后建了一个主菜单,并创建了一级菜单项 action1
、action2
和 action3
。接下来,我们创建了一个二级菜单 subMenu
,并在其中添加了二级菜单项 subAction1
和 subAction2
。最后,我们将二级菜单 subMenu
设置为一级菜单项 action1
的子菜单,并将一级菜单项添加到主菜单中。
运行示例代码后,您将看到一个带有主菜单和二级菜单的窗口。当单击主菜单中的一级菜单项 菜单项1
时,将显示二级菜单,并可以选择二级菜单项。
直接使用lambda表达式形式创建action
menu.addAction(QStringLiteral("测试菜单"), this, [=]()
{
//直接写具体的操作
});
网友评论