首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >qt如何通过连接(信号、插槽)传递q快捷()的QkeySequence?

qt如何通过连接(信号、插槽)传递q快捷()的QkeySequence?
EN

Stack Overflow用户
提问于 2014-10-07 11:47:18
回答 1查看 1.9K关注 0票数 4

我正在尝试将几条快捷键连接到一个插槽,以便获取它们的键值并将其附加到一个变量中。类似于文本输入,所以我做了这样的事情:

代码语言:javascript
复制
button_1 = new QShortcut::QShortcut(QKeySequence("1"),this);
connect(button_1,SIGNAL(activated(QKeySequence)),this, SLOT(keybord_shortcuts(QKeySequence)));

这是不正确的,因为activated()不会得到调用我的插槽keybord_shortcuts快捷方式的序列。

代码语言:javascript
复制
No such signal QShortcut::activated(QKeySequence)

除了activated(),还有别的办法吗?欢迎任何帮助。

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-10-07 12:32:14

是的,没有这样的信号activated(QKeySequence),您必须连接到信号activated()

代码语言:javascript
复制
 connect(button_1, SIGNAL(activated()), this, SLOT(keybord_shortcuts()));

但是,您可以使用sender()在插槽中获得真正的快捷方式。

代码语言:javascript
复制
 void keybord_shortcuts()
 {
      QShortcut* shortcut = qobject_cast<QShortcut*>(sender());
      QKeySequence seq = shortcut->key();
      ...
 }
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26235279

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档