学习记录-Qt创建按键菜单

自定义一个窗口部件的时候,并不会像QmainWindow那样自带菜单部件,此时需要给他添加一个菜单,如下:

void BoxFrame::createMenu()
{
    //自定义部件
    QWidget *wd = new QWidget;
    QPushButton *btn = new QPushButton("按键");

    QHBoxLayout *layout = new QHBoxLayout(wd);
    layout->addWidget(btn);
    wd->setLayout(layout);
    wd->setStyleSheet("background-color:rgb(0,200,0)");

    QWidgetAction *pWdtAction = new QWidgetAction(this);
    pWdtAction->setDefaultWidget(wd);

    //新建二级菜单
    QMenu *pMenuNew = new QMenu(QString("新建"));
    pMenuNew->addAction(QString("测试1"));
    pMenuNew->addAction(QString("测试2"));
    pMenuNew->addAction(QString("测试3"));
    pMenuNew->addAction(QString("测试4"));
    pMenuNew->addAction(QString("测试5"));

    //生成菜单栏
    QMenu *pMenu = new QMenu(this);
    pMenu->addAction(pWdtAction);
    pMenu->addSeparator();
    //pMenu->addAction(QString("新建"));
    pMenu->addMenu(pMenuNew);
    pMenu->addAction(QString("打开"));
    pMenu->addSeparator();
    pMenu->addAction(QString("保存"));
    pMenu->addAction(QString("另存"));
    pMenu->addSeparator();
    pMenu->addAction(QString("打印"));
    pMenu->addAction(QString("退出"));

    ui->btnCfg->setMenu(pMenu);
    //ui->btnCfg->setStyleSheet("QPushButton::menu-indicator{image:None;}"); //去除右边小三角

}

 效果图:






  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值