首页| 论坛| 消息

回复: QNetworkAccessManager 放到线程中---finished信号不触发问题
#6 回 fsu0413 的帖子 [ycybx~ 07-05 19:10]
fsu0413:放代码 (2021-07-05 16:19) 
void MsgSender::sendChange(const QString& strGbcode, int nValue)
{
QNetworkRequest request;

if (m_strIP.isEmpty() || m_strPort.isEmpty())
{
return;
}

QByteArray postData;
request.setUrl(QUrl("http://" + m_strIP + ":" + m_strPort + "/VideoAnalysis/Subscribe/change?"));
QString strGbCoede1, strValue, strIp, strPort;
strGbCoede1 = "gb_code=" + strGbcode + "&";
strValue = "value=" + QString::number(nValue) + "&";
strIp = "ip=" + QString("192.168.1.86") + "&";
strPort = "port=" + QString("20001");
postData.append(strGbCoede1);
postData.append(strValue);
postData.append(strIp);
postData.append(strPort);
QNetworkReply* pReplay = m_pManager->post(request, postData);
QEventLoop eventloop;
QMetaObject::Connection conRet = QObject::connect(pReplay, &QNetworkReply::finished, &eventloop, &QEventLoop::quit);
eventloop.exec();
emit pReplay->finished();
pReplay->abort();
pReplay->close();
pReplay->deleteLater();
#7 回 ycybx~ 的帖子 [ycybx~ 07-05 19:10]
ycybx~:void MsgSender::sendChange(const QString& strGbcode, int nValue)
{
    QNetworkRequest request;
....... (2021-07-05 19:10) 
就是轮训5000次这样的处理
#8 回 ycybx~ 的帖子 [fsu0413 07-22 08:06]
ycybx~:void MsgSender::sendChange(const QString& strGbcode, int nValue)
{
    QNetworkRequest request;
....... (2021-07-05 19:10) 
这也没线程啊
#9 [gpf200858 07-15 09:31]
同问啊,我也被这个东西卡住了,不出调用它的函数,槽就不会被激活!!!
#10 [feng851 07-15 11:49]
非常不建议qt中其它线程中开eventloop,只要主线程一个eventloop就好,小心陷入slot函数内出不来

<< 1 2 >> (2/2)

回复 发表
主题 版块