QT编程中信号与槽遇到的参数传递问题,如下

我建立一个tcpsocket的对象tcpsocket,然后关联到connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readM... 我建立一个tcpsocket的对象tcpsocket,然后关联到connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readMessage(tcpsocket))),运行的时候出现提示No such slot MainWindow::readMessage(m_tcpSocket[i])其他的都没问题,只是这里在对象参数传递的时候出问题了,求高手解答,应该怎么传 展开
 我来答
百度网友914ba41
推荐于2017-11-25 · TA获得超过1608个赞
知道小有建树答主
回答量:1217
采纳率:50%
帮助的人:933万
展开全部
信号和槽如果要传递参数就要确保参数类型和个数的一致 你这里槽函数里面有形参 但信号里面并没有传递过来 所以就连接不到一起

而且连接的时候只要写明参数的类型就可以了 你这里tcpsocket应该是对象名吧 这样就不对了 举个例子 connect(btn, SIGNAL( clicked(bool) ), this, SLOT( onClicked( bool ) ));
科博尔
2024-10-31 广告
QT400-18是一种球墨铸铁材料,QT代表“球铁”,400表示其抗拉强度为400MPa,18则表示延伸率为18%。该材料属于铁素体型球墨铸铁,具有良好的韧性和塑性,能够承受高冲击振动及扭转等动、静载荷,特别在低温工作条件下具有较好的冲击性... 点击进入详情页
本回答由科博尔提供
匿名用户
2013-04-02
展开全部
QT里面的信号跟槽是对应关系 的,信号的参数就是槽的参数。。
connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readMessage(tcpsocket))),明显你这就不对,不是逗号,是;(可能你贴错)。参数也不对应,好好参考QT帮助手册。改成这样;connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readMessage()));
你那个出错很明显你这个槽很明显提示是没在头文件里面声明!
还有,在工程文件*.pro里面加入QT += network这句!
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式