Qt之QMenu设置快解键&添加动作

1、新建QTGUI应用,基类选择QWidget,取消创建界面

2、

4aaa856b1fe30ab27e65b8a2b64996c1445.jpg

添加菜单

e3df43258c07a34a363cdf43858a9cc9cb1.jpg

#include <QMenu>
#include <QMenuBar>
#include <QAction>
#include <QLabel>

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    QMenuBar *menuBar = new QMenuBar(this);

    QMenu *menu[3];
    menu[0] = new QMenu("File");
    menu[0]->addAction("Edit");
    menu[0]->addAction("View");
    menu[0]->addAction("Tools");

    menu[1] = new QMenu("Save");
    QAction     *act[2];

    act[0] = new QAction("New", this);
    act[0]->setShortcut(Qt::CTRL | Qt::Key_A);
    act[0]->setStatusTip("This is a New menu.");
    menu[1]->addAction(act[0]);

    act[1] = new QAction("Open", this);
    act[1]->setCheckable(true);

    menu[1]->addAction(act[1]);

    menu[2] = new QMenu("Print");
    menu[2]->addAction("Page Setup");
    menu[2]->addMenu(menu[1]);

    menuBar->addMenu(menu[0]);
    menuBar->addMenu(menu[2]);

    menuBar->addMenu(menu[0]);
    menuBar->setGeometry(0, 0, 600, 40);

    lbl = new QLabel("",this);
    lbl->setGeometry(10, 70, 200, 40);

    connect(menuBar, SIGNAL(triggered(QAction*)), this,
                     SLOT(trigerMenu(QAction*)));

}

void Widget::trigerMenu(QAction *act)
{
    QString str = QString("Selected Menu : %1").arg(act->text());
    lbl->setText(str);
}

b99531dbb5e7be98c3a493a94059cb1780a.jpg

转载于:https://my.oschina.net/u/3919756/blog/2052480

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值