QT获取电脑网卡IP等信息

文章目录


一、背景信息

电脑有一个或者多个网卡,如下图所示:

一个网卡又可以配有多个IP地址,包括 IPv4 和 IPv6 地址:

二、代码实现

以下代码实现了查找电脑所有网卡,并获取某个网卡的 IP 等信息:

cpp 复制代码
int main() {
    // 获取所有网卡信息
    QComboBox *m_netCardComboBox;
    QList<QNetworkInterface> m_allInterfaces = QNetworkInterface::allInterfaces();
    for (int i = 0; i < m_allInterfaces.size(); ++i) {
        QNetworkInterface netInterface = m_allInterfaces.at(i);
        // 过滤掉不活动的接口,把活跃的网卡名称添加到下拉框控件
        if (netInterface.flags().testFlag(QNetworkInterface::IsUp) &&
            netInterface.flags().testFlag(QNetworkInterface::IsRunning)) {
            m_netCardComboBox->addItem(netInterface.humanReadableName());
        }
    }
    // 获取当前下拉框选择的网卡IP等信息
    {
        int currentIndex = m_netCardComboBox->currentIndex();
        QNetworkInterface netInterface = m_allInterfaces.at(currentIndex);
        QList<QNetworkAddressEntry> addressEntries = netInterface.addressEntries();
        for (int k = 0; k < addressEntries.size(); ++k) {
            QNetworkAddressEntry entry = addressEntries.at(k);
            if (entry.ip().protocol() == QAbstractSocket::IPv4Protocol) {  // 这里筛选一下IPv4地址
                qDebug() << addressEntries.at(k).ip().toString();
                qDebug() << addressEntries.at(k).netmask().toString();
                qDebug() << addressEntries.at(k).broadcast().toString();
            }
        }
    }
    return 0;
}
相关推荐
吴可可1231 小时前
.mrk与.mkr文件格式区别解析
电脑
未来之窗软件服务2 小时前
诡异的网络IP/域名/ICMP通应用层失败骨干网分层拦截分析-东方仙盟
网络·tcp/ip·智能路由器·dns劫持·仙盟创梦ide·东方仙盟
天才少女思2 小时前
如何在电脑上看红果短剧?
电脑
李永奉2 小时前
杰理可视化SDK开发-【BUG】AC7006F8芯片开启一拖二和双麦DNS通话算法后,大概率通话时蓝牙自动断连,RAM空间爆了问题处理
单片机·嵌入式硬件·mcu·物联网·电脑·bug
小灰灰搞电子2 小时前
Qt 中使用 QSettings 存储结构体数据详解
开发语言·qt
牛哥带你学代码2 小时前
鸿蒙远程控制电脑最新体验:华为荣耀鸿蒙用户2026远控软件选择指南
华为·电脑·harmonyos
成成爱质评2 小时前
Windows 任务计划程序 + 唤醒定时器:让电脑按时开机干活
windows·单片机·电脑
禁默3 小时前
iPhone远程控制Windows电脑哪款好?四款工具实测横评
windows·电脑·iphone
可爱系程序猿8 小时前
佳能 MF645Cx Windows 11 驱动下载安装:UFR II 队列可打印但扫描入口缺失的排查
程序人生·电脑·1024程序员节
砺星Leetx11 小时前
工业总线选型与对接实战:PROFINET、EtherCAT、EtherNet/IP、PROFIBUS、Modbus-TCP 与 CC-Link
网络·网络协议·tcp/ip·控制器·国产拧紧系统