本文整理汇总了C++中QDeclarativeEngine::networkAccessManager方法的典型用法代码示例。如果您正苦于以下问题:C++ QDeclarativeEngine::networkAccessManager方法的具体用法?C++ QDeclarativeEngine::networkAccessManager怎么用?C++ QDeclarativeEngine::networkAccessManager使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDeclarativeEngine
的用法示例。
在下文中一共展示了QDeclarativeEngine::networkAccessManager方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: networkAccessManager
void tst_qdeclarativeengine::networkAccessManager()
{
QDeclarativeEngine *engine = new QDeclarativeEngine;
// Test QDeclarativeEngine created manager
QPointer<QNetworkAccessManager> manager = engine->networkAccessManager();
QVERIFY(manager != 0);
delete engine;
// Test factory created manager
engine = new QDeclarativeEngine;
NetworkAccessManagerFactory factory;
engine->setNetworkAccessManagerFactory(&factory);
QVERIFY(engine->networkAccessManagerFactory() == &factory);
QVERIFY(engine->networkAccessManager() == factory.manager);
delete engine;
}
示例2: load
void QDeclarativeGeoMapPixmapObject::load()
{
// need to deal with absolute / relative local / remote files
QUrl url = QDeclarativeEngine::contextForObject(this)->resolvedUrl(m_source);
QString path;
if (url.scheme().compare(QLatin1String("qrc"), Qt::CaseInsensitive) == 0) {
if (url.authority().isEmpty())
path = QLatin1Char(':') + url.path();
} else if (url.scheme().compare(QLatin1String("file"), Qt::CaseInsensitive) == 0) {
path = url.toLocalFile();
}
if (!path.isEmpty()) {
QFile f(path);
if (f.open(QIODevice::ReadOnly)) {
QImage image;
QImageReader imageReader(&f);
if (imageReader.read(&image)) {
setPixmap(QPixmap::fromImage(image));
setStatus(QDeclarativeGeoMapPixmapObject::Ready);
} else {
setPixmap(QPixmap());
setStatus(QDeclarativeGeoMapPixmapObject::Error);
//qWarning() << "image read fail";
}
} else {
setPixmap(QPixmap());
setStatus(QDeclarativeGeoMapPixmapObject::Error);
//qWarning() << "file open fail";
}
} else {
if (m_reply) {
m_reply->abort();
m_reply->deleteLater();
m_reply = 0;
}
QDeclarativeEngine *engine = QDeclarativeEngine::contextForObject(this)->engine();
if (engine) {
QNetworkAccessManager *nam = engine->networkAccessManager();
m_reply = nam->get(QNetworkRequest(url));
if (m_reply->isFinished()) {
if (m_reply->error() == QNetworkReply::NoError) {
finished();
} else {
error(m_reply->error());
}
delete m_reply;
m_reply = 0;
return;
}
setStatus(QDeclarativeGeoMapPixmapObject::Loading);
connect(m_reply,
SIGNAL(finished()),
this,
SLOT(finished()));
connect(m_reply,
SIGNAL(error(QNetworkReply::NetworkError)),
this,
SLOT(error(QNetworkReply::NetworkError)));
} else {
setPixmap(QPixmap());
setStatus(QDeclarativeGeoMapPixmapObject::Error);
//qWarning() << "null engine fail";
}
}
}