QMainWindow_菜单栏和工具栏创建

2024-01-08 02:18:56

1? QMainWindow

1.1菜单栏 只能一个

? ? ? ? 1.1.1? 用系统提供的方法有这个栏??

? ? ? ? ? ? ? ?QMenuBar * bar =menuBar();创建菜单栏

? ? ? ? 1.1.2 setMenuBar(bar)设置到窗口中

? ? ? ? 1.1.3QMenu * fileMenu=bar->addMenu("") 添加菜单

? ? ? ? 1.1.4QAction * newAction=fileMenu->addAction("新建");

? ? ? ? 1.1.5添加分割线和添加子菜单可以忽略 不是重点代码

//1.菜单栏    只有一个
    QMenuBar * bar =menuBar();
    //菜单栏设置到窗口中
    this->setMenuBar(bar);
    //添加菜单
    QMenu * fileMenu=bar->addMenu("文件");
    QMenu * editMenu=bar->addMenu("编辑");//右边
    //添加菜单项
    QAction * newAction=fileMenu->addAction("新建");
    //添加分割线
    fileMenu->addSeparator();
    QAction * openAction=fileMenu->addAction("打开");

    //菜单项中添加子菜单
    QMenu * subMenu=new QMenu;
    subMenu->addAction("子菜单1");
    subMenu->addAction("子菜单2");
    newAction->setMenu(subMenu);

1.2工具栏? 可以多个

1.2.1?QToolBar * toolBar=new QToolBar(this);

1.2.2将工具栏 设置到窗口中 addToolBar(Qt::LeftToolBarArea,toolBar);//默认左边

1.2.3设置后期停靠区域setAllowedAreas

1.2.4设置浮动??setFloatable

1.2.5设置移动??setMovable

1.2.6添加菜单项??addAction

1.2.7添加分割线? ?addSeparate

//2.工具栏 可以多个
    QToolBar * toolBar=new QToolBar(this);//加this放到对象树上
    //将工具栏 设置到窗口中
    addToolBar(Qt::LeftToolBarArea,toolBar);//默认左边
    //设置只允许左右停靠
    toolBar->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);
    //设置浮动
    toolBar->setFloatable(false);
    //设置移动  总管理
    toolBar->setMovable(false);
    //添加菜单项
    toolBar->addAction(newAction);//刚创建的指针
    toolBar->addSeparator();//添加分割线
    toolBar->addAction(openAction);

文章来源:https://blog.csdn.net/weixin_61847358/article/details/135409287
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。