若该文为原创文章,转载请注明出处
本文章博客地址: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上实时检测出网卡通断(插拔,失联等情况)
- 国产银河麒麟操作系统上实时检测出网卡通断(插拔,失联等情况)
模块化部署
关键源码
#if1
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
版权归原作者 长沙红胖子Qt 所有, 如有侵权,请联系我们删除。