Qt学习笔记——Qt5中发射带有 const u_char* 数据类型信号出错的问题

   最近用Qt5开发一个项目时候出现了一个信号和槽的问题,线程中信号大概如下:

signals:
   void SignalIPv6(bool,QString,QString,const u_char*);

   连接主界面上槽函数如下:

   connect(myCaptureThread,SIGNAL(SignalIPv6(bool,QString,QString,const u_char *)),
            this,SLOT(PraseIPv6Header(bool,QString,QString,const u_char*)));

   这在Qt4中没有问题,但在Qt5中编译就出现问题,出现如下错误:

   Object::connect: No such signal的错误

   在网上查了许多资料后,发现原来除了返回值,Qt 4 connect()函数与 Qt 5 最大的区别在于,Qt 4  signal  slot 只有const char *这么一种形式。

   后来修改信号形式为:

   void SignalIPv6(bool,QString,QString,const char*);

   就没有问题了,因为项目要用到Libpcap,所以循环捕包函数为:

   void SignalIPv6(bool,QString,QString,const u_char*);

   最后强制转换一下const u_char为 const char* 就行了.

   参考网址:http://my.oschina.net/cgshare/blog/193081?p={{totalPage}}

Object::connect: No such signal的错误


Object::connect: No such signal的错误


Object::connect: No such signal的错误



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

苦逼的IT男

你的鼓励是我最大的创作动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值