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])其他的都没问题,只是这里在对象参数传递的时候出问题了,求高手解答,应该怎么传
展开
2个回答
2013-04-02
展开全部
QT里面的信号跟槽是对应关系 的,信号的参数就是槽的参数。。
connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readMessage(tcpsocket))),明显你这就不对,不是逗号,是;(可能你贴错)。参数也不对应,好好参考QT帮助手册。改成这样;connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readMessage()));
你那个出错很明显你这个槽很明显提示是没在头文件里面声明!
还有,在工程文件*.pro里面加入QT += network这句!
connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readMessage(tcpsocket))),明显你这就不对,不是逗号,是;(可能你贴错)。参数也不对应,好好参考QT帮助手册。改成这样;connect(tcpsocket,SIGNAL(readyRead()),this,SLOT(readMessage()));
你那个出错很明显你这个槽很明显提示是没在头文件里面声明!
还有,在工程文件*.pro里面加入QT += network这句!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询