首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将类方法传递给const char *参数

将类方法传递给const char *参数
EN

Stack Overflow用户
提问于 2015-02-20 10:35:29
回答 1查看 219关注 0票数 0

在Qt中,QShortcut有这样的构造函数

代码语言:javascript
复制
QShortcut(const QKeySequence& key, QWidget *parent,
          const char *member = 0, const char *ambiguousMember = 0,
          Qt::ShortcutContext context = Qt::WindowShortcut);

据我所知,从文档中可以将一个方法传递给第三个参数,而不是使用。但是我怎样才能通过方法呢?使用

代码语言:javascript
复制
QShortcut* sh = new QShortcut(QKeySequence(Qt::Key_Alt, Qt::Key_1), this, &OnShortcut);

代码语言:javascript
复制
QShortcut* sh = new QShortcut(QKeySequence(Qt::Key_Alt, Qt::Key_1), this, &MyClass::OnShortcut);

给出错误

错误:没有调用‘Q快捷方式::q快捷键(QKeySequence,KeyPressProcessing* const,void (*)())’的匹配函数。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-20 11:53:44

您必须使用SLOT(OnShortcut())而不是&OnShortcut,因为QShortcut类构造函数需要const char *作为第二个和第三个参数,而不是指向函数的指针。因此,Qt有专门的转换宏SLOT,它接受函数签名作为参数,并以适合建立连接的形式对其进行转换。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28626862

复制
相关文章

相似问题

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