若该文为原创文章,转载请注明出处
本文章博客地址: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 1 QNetworkInterface 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