美文网首页
QMenu多级菜单

QMenu多级菜单

作者: 雯饰太一 | 来源:发表于2023-06-21 06:29 被阅读0次

    要在 QMenu 中设置二级菜单,可以使用 QMenuaddMenu 函数创建一个子菜单,并将其添加到主菜单中。以下是一个示例代码:

    #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();
    }
    

    在上述示例中,创建了一个主窗口和菜单栏。然后建了一个主菜单,并创建了一级菜单项 action1action2action3。接下来,我们创建了一个二级菜单 subMenu,并在其中添加了二级菜单项 subAction1subAction2。最后,我们将二级菜单 subMenu 设置为一级菜单项 action1 的子菜单,并将一级菜单项添加到主菜单中。

    运行示例代码后,您将看到一个带有主菜单和二级菜单的窗口。当单击主菜单中的一级菜单项 菜单项1 时,将显示二级菜单,并可以选择二级菜单项。

    直接使用lambda表达式形式创建action

    menu.addAction(QStringLiteral("测试菜单"), this, [=]()
        {
            //直接写具体的操作              
        });
    

    相关文章

      网友评论

          本文标题:QMenu多级菜单

          本文链接:https://www.haomeiwen.com/subject/vumredtx.html