当前位置: 首页 > news >正文

QT获取电脑网卡IP等信息

文章目录

  • 一、背景信息
  • 二、代码实现


一、背景信息

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

示例图片

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

示例图片

二、代码实现

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

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;
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Spring boot 运行环境搭建之Spring Tools 4 for Eclipse
  • STM32、Spring Boot、MQTT和React Native:智能停车管理系统的全栈开发详解(附代码示例)
  • react-draft-wysiwyg API
  • Nacos 服务发现(订阅)源码分析(服务端)
  • 数据仓库事实表
  • 【微服务实战之Docker容器】第六章-复杂安装(Mysql主从Redis集群)
  • 代理伺服器分類詳解
  • ArcGIS Pro SDK (九)几何 10 弧
  • 【数据结构】初识数据结构
  • AI、AGI、AIGC与AIGC、NLP、LLM,ChatGPT区分
  • Nature子刊 | ATAC-seq、RNA-seq和蛋白组联合分析揭示脂质激活转录因子PPARα在肾脏代偿性肥大的作用机制
  • pdf怎么压缩的小一点?PDF压缩变小的6种方法(2024全新)
  • 数学基础【俗说矩阵】:初等矩阵和矩阵的初等行变化关系推导
  • 【雷丰阳-谷粒商城 】【分布式高级篇-微服务架构篇】【26】【内网穿透】cpolar
  • python内置zip函数详解
  • [译] 怎样写一个基础的编译器
  • 【翻译】Mashape是如何管理15000个API和微服务的(三)
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • ECMAScript 6 学习之路 ( 四 ) String 字符串扩展
  • ES学习笔记(12)--Symbol
  • leetcode-27. Remove Element
  • PHP CLI应用的调试原理
  • win10下安装mysql5.7
  • yii2中session跨域名的问题
  • 开源地图数据可视化库——mapnik
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 数据仓库的几种建模方法
  • 一起参Ember.js讨论、问答社区。
  • 异步
  • - 语言经验 - 《c++的高性能内存管理库tcmalloc和jemalloc》
  • ionic入门之数据绑定显示-1
  • puppet连载22:define用法
  • #define,static,const,三种常量的区别
  • (1)无线电失控保护(二)
  • (1)虚拟机的安装与使用,linux系统安装
  • (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作...
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (超详细)语音信号处理之特征提取
  • (附源码)ssm本科教学合格评估管理系统 毕业设计 180916
  • (一)基于IDEA的JAVA基础1
  • (转)http-server应用
  • ***php进行支付宝开发中return_url和notify_url的区别分析
  • ./和../以及/和~之间的区别
  • .NET CF命令行调试器MDbg入门(一)
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .net开发引用程序集提示没有强名称的解决办法
  • .net实现头像缩放截取功能 -----转载自accp教程网
  • .stream().map与.stream().flatMap的使用
  • /dev/sda2 is mounted; will not make a filesystem here!
  • @Async 异步注解使用
  • @Mapper作用
  • @Transient注解
  • []error LNK2001: unresolved external symbol _m
  • [000-01-011].第2节:持久层方案的对比
  • [2019.3.20]BZOJ4573 [Zjoi2016]大森林