• 9122阅读
  • 2回复

[提问]qt右键菜单设置快捷键问题 [复制链接]

上一主题 下一主题
离线jery16
 

只看楼主 倒序阅读 楼主  发表于: 2011-02-05
— 本帖被 XChinux 执行加亮操作(2011-02-07) —
我做了个右键菜单,想给其中一个qaction一个快捷键:
    actionFindDialog = new QAction( QIcon( ":/icons/search.ico" ), "Find...", this );
    actionFindDialog->setShortcut( QKeySequence( Qt::CTRL + Qt::Key_F ) );
m_popMenu->addAction( actionFindDialog );
connect(actionFindDialog, SIGNAL(triggered()), this, SLOT(popupFindDialog()));

编译倒是没问题,ctrl+f也出现在右键菜单里了,但是按ctrl+f,槽popupFindDialog()没被调用呢?是哪里没有写对吗?
离线XChinux

只看该作者 1楼 发表于: 2011-02-07
在该Action对应的菜单或工具按钮没有被激活(对应菜单弹出工具按钮已显示)的情况下,你按快捷键是不能起作用的。要想起作用,你得在当前窗体上设置快捷键。下面是示例代码。

QShortcut *_shortcut;
_shortcut = new QShortcut(QKeySequence("Ctrl+Alt+F5"), this);
    connect(_shortcut, SIGNAL(activated()),
            this, SLOT(on_actionEmpty_triggered()));
[ 此帖被XChinux在2011-02-07 23:44重新编辑 ]
二笔 openSUSE Vim N9 BB10 XChinux@163.com 网易博客 腾讯微博
承接C++/Qt、Qt UI界面、PHP及预算报销系统开发业务
离线jery16

只看该作者 2楼 发表于: 2011-02-08
搞定,十分感谢!!
快速回复
限100 字节
 
上一个 下一个