【发布时间】:2016-01-02 09:22:59
【问题描述】:
我是 Qt 新手,目前正在学习使用 QTcpServer 和 QTcpSocket 编写代码。
我处理数据的代码是这样的
Myclass()
{
connect(&socket, &QTcpSocket::readyRead, this, &MyClass::processData);
}
void MyClass::processData()
{
/* Process the data which may be time-consuming */
}
这样使用信号是否正确?当我阅读文档时,在同一个线程中立即调用插槽,这意味着如果我的处理工作尚未完成并且新数据到来,Qt 将暂停当前工作并再次输入processData()。这不是我想要做的,所以我应该在信号/插槽连接中QueueConnection 吗?
或者您能否提供一些我应该在这种情况下采用的好方法?
【问题讨论】:
标签: qt signals qtcpsocket slots qtcpserver