置百丈玄冰而崩裂,掷须臾池水而漂摇。

[Qt]QMenuBar和QMenu

QT 强强

QMenuBar和QMenu


构建一个菜单栏:menuBar

//创建菜单栏
QMenuBar *bar = menuBar();
//设置到页面中
this->setMenuBar(bar);


创建两个菜单:addMenu

    QMenu *fileMenu =  bar->addMenu("文件");
    QMenu *editMenu =  bar->addMenu("编辑");

效果:


创建下来菜单:addAction

 //创建菜单
    QAction *open = fileMenu->addAction("打开");
    //创建分隔符
    fileMenu->addSeparator();
   QAction *exit = fileMenu->addAction("退出");


添加工具栏:

    // 工具栏
    QToolBar *toolbar = new QToolBar(this);
    addToolBar(toolbar);


添加工具栏按钮:addAction 和 addWidget

//添加按钮 关联菜单栏
    toolbar->addAction(open);
    //文字添加
    toolbar->addAction("打开");
    //添加按钮
    QPushButton *btn = new QPushButton("测试",this);
    toolbar->addWidget(btn);


设置工具栏位置: 

 //系统枚举
 enum ToolBarArea {
        LeftToolBarArea = 0x1,
        RightToolBarArea = 0x2,
        TopToolBarArea = 0x4,
        BottomToolBarArea = 0x8,

        ToolBarArea_Mask = 0xf,
        AllToolBarAreas = ToolBarArea_Mask,
        NoToolBarArea = 0
    };
    
  
  
  //放在左侧
    addToolBar(Qt::LeftToolBarArea,toolbar);


设置工具移动

    // 禁用移动
    toolbar->setMovable(false);


禁用工具浮动

 //设置浮动
    toolbar->setFloatable(false);


完整代码:

#include "mainwindow.h"
#include "QMenuBar"
#include "QToolBar"
#include "QPushButton"

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
{
    //重置大小
    this->resize(800,600);

    //创建菜单栏
    QMenuBar *bar = menuBar();
    //设置到页面中
    this->setMenuBar(bar);

    QMenu *fileMenu =  bar->addMenu("文件");
    QMenu *editMenu =  bar->addMenu("编辑");

    //创建菜单
    QAction *open = fileMenu->addAction("打开");
    //创建分隔符
    fileMenu->addSeparator();
   QAction *exit = fileMenu->addAction("退出");

    // 工具栏
    QToolBar *toolbar = new QToolBar(this);
    addToolBar(toolbar);

    //添加按钮 关联菜单栏
    toolbar->addAction(open);
    //文字添加
    toolbar->addAction("打开");
    //添加按钮
    QPushButton *btn = new QPushButton("测试",this);
    toolbar->addWidget(btn);


    //放在左侧
    addToolBar(Qt::LeftToolBarArea,toolbar);

//    // 禁用移动
//    toolbar->setMovable(false);

    //设置浮动
    toolbar->setFloatable(false);



}

MainWindow::~MainWindow()
{

}


发表评论:

验证码