void WebImageWidget::onNetworkReplyFinished(QNetworkReply *reply) { if (reply->error() == QNetworkReply::NoError) { int http_status = reply->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); if (http_status == 302) { QString urlLocation = reply->rawHeader("Location"); getNetworkManager()->get(QNetworkRequest(QUrl(urlLocation))); return; } else { if (!m_sourceImage) { m_sourceImage = new QImage(); } m_sourceImage->loadFromData(reply->readAll()); if (!m_autoSizeToContainer) resize(m_sourceImage->size()); if (!m_toolTipText.isEmpty()) setToolTip(m_toolTipText); update(); } } deleteNetworkManager(); reply->deleteLater(); }
void WebImageWidget::setSource(QString source, bool autoSizeToContainer /* = true */) { // 图片没变化则不做操作 if (m_source.compare(source) == 0) return; m_source = source; m_autoSizeToContainer = autoSizeToContainer; // 删除原图片,并更新显示 deleteSourceImage(); update(); // 网络获取新图片 if (!m_source.isEmpty()) getNetworkManager()->get(QNetworkRequest(QUrl(m_source))); }
void HttpManager::sendHttpGetReq(QObject* ths, QString url, HttpGetCallback callback){ QNetworkAccessManager *netMgr = getNetworkManager(); HttpRequest request; request.sendHttpGetReq(ths, netMgr, url, callback); }
void mog::network::NetworkGame::internalUpdate(float dt /*= 0*/) { Game::internalUpdate(dt); getNetworkManager()->update(dt); }