【笔记1-3】Qt系列:setShortcut 设定快捷键 取消快捷键

使用QKeyEvent键盘按下事件来设定快捷键,虽然很方便,但也有不舒服的情况,比如主窗口中包含多个小窗口,聚焦到小窗口时,主窗口的按下事件就不响应了,因此需要不受窗口限制的全局快捷键设定方式

QAction和QPushButton都有setShortcut ()接口,可以用来设定快捷键

代码分析

 QMenuBar * menubar = new QMenuBar(this);//创建菜单栏

    QMenu *menu_test;

    menu_test = new QMenu("menu11");//创建菜单

    QAction * action_1;

    action_1 = new QAction("act1",this);//创建动作

    menu_test->addAction(action_1);

    connect(action_1 , SIGNAL(triggered()) , this , SLOT(textset()));//关联槽函数

    action_1->setShortcut(tr("Ctrl+1"));//设定快捷键

    action_1->setShortcut(0);//如果写了这句就可以取消快捷键

    menubar->addMenu(menu_test);

setShortcut的内容有多种设置方法:

setShortcut(Qt::CTRL + Qt::Key_B);
setShortcut(tr("Ctrl+1"));
setShortcut(QKeySequence("Ctrl+2"))

取消快捷键也有几种方法:

setShortcut(0);
setShortcut(QKeySequence());

如果要制作带有自定义快捷键列表的界面,需要动态设定action的快捷键,这种方式比较合适

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值