如何在qt中监控互联网连接状态?我的意思是,我希望能够将图标更改为活动/非活动状态,具体取决于是否存在互联网连接。
答案 0 :(得分:1)
如果您使用的是QML,Qt Mobility包中会有NetworkInfo QML element。另外,这包含一个示例,如何检查是否存在WLAN连接。
答案 1 :(得分:1)
我使用此代码检查互联网状态。
bool ConnectivityManager::isOnline()
{
bool retVal = false;
QNetworkAccessManager nam;
QNetworkRequest req(QUrl("http://www.google.com"));
QNetworkReply* reply = nam.get(req);
QEventLoop loop;
QTimer timeoutTimer;
connect(&timeoutTimer, SIGNAL(timeout()), &loop, SLOT(quit()));
connect(reply, SIGNAL(finished()), &loop, SLOT(quit()));
timeoutTimer.setSingleShot(true);
timeoutTimer.start(3000);
loop.exec();
if (reply->bytesAvailable())
{
retVal = true;
}
return retVal;
}