项目实战:Qt监测操作系统物理网卡通断v1.1.0(支持windows、linux、国产麒麟系统)

若该文为原创文章,转载请注明出处

本文章博客地址: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上实时检测出网卡通断(插拔,失联等情况)
  • 国产银河麒麟操作系统上实时检测出网卡通断(插拔,失联等情况)

模块化部署

  

关键源码

cpp 复制代码
#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

相关推荐
鱼子星_4 小时前
【C++】继承和多态(上)
c++·笔记
郝学胜-神的一滴5 小时前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生
码匠许师傅5 小时前
【设计模式精讲】22.中介者模式(Mediator)
c++·设计模式·软件工程·uml·中介者模式
爱吃巧克力的程序媛8 小时前
main.cpp注册 C++ 类到 QML 元对象系统
c++·qt
YYYing.8 小时前
【C++进阶系列 (二)】关于线程堆栈的那些事——函数调用过程
开发语言·c++·函数·线程堆栈
键盘会跳舞9 小时前
【C++多线程】死锁诊断工具实战:从 Windows 到 Linux 的全链路排查
linux·c++·windows·死锁
HugoStudio_SWAN10 小时前
洛谷 P10719 \[GESP202406 五级] 黑白格——暴力美学与图像处理的最小外接矩形
c++·图像处理·人工智能·学习·程序人生·算法·目标跟踪
jimy110 小时前
C++ 的 “移动语义”——Move Semantics
开发语言·c++
励志不掉头发的内向程序员12 小时前
【LibreCAD 2D架构】从鼠标点击到图形创建:RS_ActionDrawLine交互流程与状态机解析
开发语言·c++·qt·学习·系统架构·计算机外设·交互
OPEN-F12 小时前
ROS2系列教程:Gazebo插件(关节控制/IMU/激光雷达)
c++·python·数码相机·算法·机器人