Qt 实时监控网络状态

版权声明:如需转载,请告知博主并声明出处 https://blog.csdn.net/CLinuxF/article/details/82424024

下面将会介绍一种QT自带的监听网络状态的方法,只能识别有有网还是没网,不能判断是蜂窝网还是wifi网络。
方法如下:
主要是用到了QNetworkConfigurationManager 这个类。

bool NetworkRequest::isNetWorkOnline()
{
    QNetworkConfigurationManager mgr;
    return mgr.isOnline();
}

这种方法是需要手动调用才能识别,所以要做到实时监听,需要连接该方法的onlineStateChanged信号,可以做到网络实时变化通知,仅仅只能判别是否有网,如果需要在安卓上面判别具体是什么网络,请看我另外一篇文章。

下面贴出监听的信号连接:

QNetworkConfigurationManager mgr;
connect(&mgr, &QNetworkConfigurationManager::onlineStateChanged,this, [=](bool isOnline){
    qDebug()<<"网络已经更改"<<isOnline;
});

猜你喜欢

转载自blog.csdn.net/CLinuxF/article/details/82424024