私のプログラムはQtNetworkを使用してインターネットからコンテンツをダウンロードします。
int main()で私は呼び出します
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QmlApplicationViewer viewer;
QNetworkConfigurationManager manager;
QNetworkConfiguration cfg = manager.defaultConfiguration();
QNetworkSession* session = new QNetworkSession(cfg);
session->setSessionProperty("ConnectInBackground", true);
session->open();
/*some registering types*/
viewer.setOrientation(QmlApplicationViewer::ScreenOrientationAuto);
viewer.setMainQmlFile(QLatin1String("qml/maelyrica/main.qml"));
viewer.showFullScreen();
return app.exec();
}
次に、1つのメンバー関数、多くのカプセル化、他のメンバー関数を呼び出す他のメンバー関数の呼び出しでは、次のようなコードが使用されます。
QNetworkReply::NetworkError lyricsDownloader::download(const QString& a, const QString& t)
{
QNetworkAccessManager nam;
QNetworkReply * reply;
QUrl url = toProviderCode(a, t);
forever
{
reply = nam.get(QNetworkRequest(url));
QEventLoop downloadLoop;
connect(reply, SIGNAL(finished()), &downloadLoop, SLOT(quit()));
downloadLoop.exec();
url = reply->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl();
if (url.isEmpty()) break; // break when no redirect, when redirect do it again with new url
}
lyrics_qstr = reply->readAll();
//qDebug() << lyrics_qstr;
return reply->error();
}
これにより、NokiaN9やNokiaN900などのモバイルデバイスでインターネットポップアップが表示されます。つまり、ユーザーは、すでに接続していない限り、インターネット接続を選択する必要があります。ただし、表示されていません。
私は何が間違っているのですか?
前もって感謝します