若该文为原创文章,转载请注明出处
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/136276999
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中…(点击传送门)
Qt开发专栏:项目实战(点击传送门)
需求
使用Qt软件开发一个检测网卡的功能。
兼容windows、linux,国产麒麟系统(同为linux)
Demo
windows上运行:
国产麒麟操作上运行:
windows运行包下载地址
CSDNf粉丝0积分下载:https://download.csdn.net/download/qq21497936/88874612
QQ群:博客首页扫码进入QQ技术群,点击“文件”搜索“testNetworkCard”,群内与博文同步更新)
功能描述 v1.1.0
- windows上实时检测出网卡通断(插拔,失联等情况)
- linux上实时检测出网卡通断(插拔,失联等情况)
- 国产银河麒麟操作系统上实时检测出网卡通断(插拔,失联等情况)
模块化部署
关键源码
#if 1QNetworkInterface networkInterface = QNetworkInterface::interfaceFromName(_networkDevName);LOG << networkInterface << networkInterface.name();if( networkInterface.flags().testFlag(QNetworkInterface::IsUp)&& networkInterface.flags().testFlag(QNetworkInterface::IsRunning)&& !networkInterface.flags().testFlag(QNetworkInterface::IsLoopBack)){// 连接状态改变,需要抛出改变状态信息if(!_connected){LOG << "emit signal_connectedChanged"<< _networkName<< _connected<< "change to" << true;_connected = true;emit signal_networkCardConnectedChanged(_connected);}}else{// 连接状态改变,需要抛出改变状态信息if(_connected){LOG << "emit signal_connectedChanged"<< _networkName<< _connected<< "change to" << false;_connected = false;emit signal_networkCardConnectedChanged(_connected);}}#endif
本文章博客地址:https://hpzwl.blog.csdn.net/article/details/136276999