关于connect槽函数命名空间的问题

MilkshakeのMilktea MilkshakeのMilktea 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
最近在学习Qt,尝试写一个串口助手的时候遇到一个问题,串口能正常打开,且发送数据正常,但接收数据当我尝试connect readyread信号和自定义的槽函数的时候一直找不到槽函数。
自定义串口类中定义的槽函数如下,省略构造函数、析构函数和其他函数,槽函数中仅readall,具体定义省略:
class serialTransiever : public QSerialPort
{
public slots:
void userReadSerialData();
};

在构造函数中connect,具体代码如下:
serialTransiever::serialTransiever()
{
connect(this, SIGNAL(readyRead()), this, SLOT(userReadSerialData()));
}

加断点运行到connect时程序输出:
QObject::connect: No such signal QSerialPort::userReadyRead() in ..\COM\serialtransiever.cpp:7

非常奇怪,明明当前命名空间应该是serialTransiever,为什么在调用槽函数的时候编译器自动添加了QSerialPort命名空间,导致找不到自定义的槽函数,求助诸位大佬。
...全文

相关推荐

提供Qt中快速多次发射信号与耗时槽函数的链接解决方案

比如每50ms发一次信号,槽函数要耗时100毫秒,为了获取最新的信号,而采取的操作!这里提供两种解决思路!请看代码!

Little柯南

【Qt问题】解决 error: no matching member function for call to ‘connect‘

命名空间冲突:如果有多个命名空间中定义了相同名称的信号或槽,可能会导致无法匹配的错误。在连接信号和槽时,使用完全限定的名称(包括命名空间)来消除命名空间冲突。信号和槽的参数类型不匹配:检查所连接的信号和槽的参数类型是否匹配。忘记包含必要的头文件:确保代码中包含了相关的头文件,以便编译器可以正确地识别信号和槽的声明。信号和槽的定义问题:确保所连接的信号和槽的定义正确,包括函数名、参数列表和修饰符 (例如。函数时,需要确保参数类型和数量与所连接的信号和槽的参数类型和数量匹配。编译器来生成关联的元对象代码。

嵌入式职场

GUI开发示例代码---QTdesigner实现自定义槽函数

GUI开发示例代码---QTdesigner实现自定义槽函数

P指向为NULL

vuex-connect-namespace-helper:用于vuex-connect的命名空间模块帮助器

vuex-connect-namespace-helper 用于vuex-connect的绑定命名空间模块帮助器。 例子 const store = new Vuex . Store ( { state : { foo : 'foo' , } , modules : { moduleName : { namespaced : true , state : { bar : 'bar' , } , mutations : { barMutation ( state , payload ) { state . bar = payload } , } , actions : { barAction ( { comm

Aaron Gary

PyQT5 emit 和 connect的用法详解

今天小编就为大家分享一篇PyQT5 emit 和 connect的用法详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

抹蜜茶
评论 5
收藏 已收藏
分享
返回顶部
MilkshakeのMilktea
Qt 21,503 成员 26,693 内容