首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >QT5.9插槽命名错误

QT5.9插槽命名错误
EN

Stack Overflow用户
提问于 2017-10-09 10:14:08
回答 1查看 227关注 0票数 0

我用的是Qt 5.9。

我在声明带有下划线样式的插槽时遇到了问题,特别是当我用两个以上的underscores.For示例命名它时,它有一个void on_stop_treatment()插槽,即使我没有连接,我也得到了QMetaObject::connectSlotsByName: No matching signal for on_stop_treatment()

无论如何,建立一个连接,即使我得到相同的消息,插槽信号机制工作。删除第二个下划线,我没有收到错误消息,该机制可以工作。(我还尝试删除moc文件并重新构建)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-09 10:24:57

声明名为on_stop_treatment的槽将与名为信号/插槽自动连接的Qt特性发生冲突。

Qt将为您的插槽检测到这个特定的语法,并将尝试将stop与名为stop的QObject和在QObject类中声明的名称为treatment的信号匹配。

为了实现这一点,Qt使用内部QMetaObject::connectSlotsByName(this);执行自动信号/时隙连接。

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

https://stackoverflow.com/questions/46644024

复制
相关文章

相似问题

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