QT QWidget框架下的QMenuBar添加

一.引言

        当开发QT程序时使用了Widget框架时,无法为主页添加Menubar组件。

二.添加方法

        原理:利用widget组件更改控件属性

        具体实现:widget变更为QmenuBar

①QT Creatot添加Widget组件在UI顶部

②在QT的UI文件中强行将该widget的类型属性更改为QMenuBar(可使用记事本的方式打开)

③直接应用保存

三.QMenuBar快速应用

             使用方式如下:

//添加菜单栏
    //创建菜单
    QMenu* menuFile = new QMenu("视图控制(&A)"); //添加快捷键 &+字母
    QMenu* menuDeal = new QMenu("控制(&M)");
    QMenu* menuDoc = new QMenu("说明(&G)");
    //将菜单到菜单栏中
    ui->menuBar->addMenu(menuFile);
    ui->menuBar->addMenu(menuDeal);
    ui->menuBar->addMenu(menuDoc);
    //创建菜单项
    QAction* actionDrawWithBc = new QAction("打开视图");
    QAction* actionDrawNoBc = new QAction("去除曲线");
    QAction* actionAlignWithBc = new QAction("添加曲线");
    QAction* actionAlignNo = new QAction("关闭视图");
    QAction* actionUpdateDocumentation = new QAction("更新说明");
    //添加图标
//       action3->setIcon(QIcon(":/save.png"));
    //添加菜单项到菜单中
    menuFile->addSeparator();
    menuFile->addAction(actionDrawWithBc);
    menuFile->addAction(actionDrawNoBc);
    menuFile->addAction(actionAlignWithBc);
    menuFile->addAction(actionAlignNo);
    menuDoc->addAction(actionUpdateDocumentation);
    //建立连接
    connect(actionDrawWithBc,&QAction::triggered,this,[this]() {  // 忽略原信号参数,直接传递固定值
        this->on_action_switchDrawStaue(true);
    });
    connect(actionDrawNoBc,&QAction::triggered,this,[this]() {  // 忽略原信号参数,直接传递固定值
        this->on_action_switchDrawStaue(false);
    });
    connect(actionAlignWithBc,&QAction::triggered,this,[this]() {  // 忽略原信号参数,直接传递固定值
        this->on_action_switchAlignStaue(true);
    });
    connect(actionAlignNo,&QAction::triggered,this,[this]() {  // 忽略原信号参数,直接传递固定值
        this->on_action_switchAlignStaue(false);
    });
    connect(actionUpdateDocumentation,&QAction::triggered,this,&Widget::on_action_showHelpDocument);

                                       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值