现在
开发了一个QtcpServer的多
线程程序,当有新的客户端连接的时候就会新开一个线程,现在的情况是新的客户端连接到服务器的时候线程可以开,也可以给服务端发送
数据,可以当服务端发送数据的时候,就会报错,具体
错误如下,
QObject: Cannot create children for a parent that is in a different thread.(Parent is QNativeSocketEngine(0xc6e1ce0), parent's thread is MutipleThread(0xc6bbd88), current thread is QThread(0x3f7520)
程序界面是这样的
新的客户端来了之后,会显示在旁边的列表里,如果开多个客户端,就会有多条显示,客户端可以正常给服务端发送数据,可是在列表中选择好客户端之后,给客户端发送数据的时候会报这个错误,大概意思是说要创建的对象和父对象不在一个线程里,试了好久都不行
在界面上选择好客户端输入文字发送的时候,是通过信号与槽实现的,可是主界面和客户端显示是不在线程里的,connect(主界面对象,SIGNAL(发送数据给客户端线程),客户端线程,SLOT(将接受到的数据发送给客户端))
这个问题应该怎么解决呢?有碰到过的么?