【qt】如何获取网卡的信息?

devtools/2024/12/22 20:07:59/

网卡不只一种,有有线的,有无线的等等
我们用QNetworkInterface类的静态函数allInterfaces() 来获取所有的网卡
在这里插入图片描述
返回的是一个网卡的容器.
然后我们对每个网卡来获取其设备名称和硬件地址
可以通过静态函数humanReadableName() 来获取设备名称
在这里插入图片描述
可以通过静态函数**hardwareAddress()**来获取硬件的地址.
在这里插入图片描述
一个网卡可以获取多个网络信息,如子网掩码,广播地址.
子网掩码是用来划分网络的一个重要参数,它用于确定 IP 地址中的网络部分和主机部分。
广播地址是网络中的一个特殊地址,用于向网络中的所有设备发送数据包。

例如,假设我们有一个 C 类网络,其网络地址为 192.168.1.0,子网掩码为 255.255.255.0。这个子网掩码表示前 24 位是网络部分,后 8 位是主机部分。
那么,这个网络中的第一个可用 IP 地址是 192.168.1.1,最后一个可用 IP 地址是192.168.1.254。
广播地址是 192.168.1.255,用于向这个网络中的所有设备发送数据包。

我们可以通过网卡类的addressEntryies()函数来获取QNetworkAddressEntry容器.
在这里插入图片描述

QList<QNetworkInterface> list= QNetworkInterface::allInterfaces();for(int i=0;i<list.count();i++){QNetworkInterface interface=list[i];if(!interface.isValid()){continue;}ui->textEdit->append("设备名称:"+interface.humanReadableName());ui->textEdit->append("硬件地址:"+interface.hardwareAddress());QList<QNetworkAddressEntry> list2= interface.addressEntries();for(int j=0;j<list2.count();j++){QNetworkAddressEntry entry=list2[j];ui->textEdit->append("\tIP地址:"+entry.ip().toString());ui->textEdit->append("\t子网掩码:"+entry.netmask().toString());ui->textEdit->append("\t广播地址:"+entry.broadcast().toString()+"\n");}}

这个**netmask()**来获取掩码
在这里插入图片描述

**broadcast()**来获取广播地址
在这里插入图片描述
运行结果:
在这里插入图片描述


http://www.ppmy.cn/devtools/58234.html

相关文章

精通Perl正则表达式修饰符:提升文本处理能力的艺术

Perl语言以其强大的文本处理能力而闻名&#xff0c;其中正则表达式是其核心特性之一。正则表达式本身非常强大&#xff0c;但Perl提供的修饰符&#xff08;Modifiers&#xff09;进一步扩展了正则表达式的灵活性和表达能力。本文将深入探讨Perl中正则表达式修饰符的使用&#x…

3-7 使用深度学习解决温度即示数问题

3-7 使用深度学习解决温度即示数问题 直接上代码 %matplotlib inline import matplotlib.pyplot as plt import numpy as np import torch torch.set_printoptions(edgeitems2, linewidth75)设置Jupyter Notebook在单元格中内嵌显示图像&#xff0c;导入所需库并设置PyTorch的…

如何用CSS3画一条0.5px的直线?

在 CSS 中&#xff0c;实际上无法直接指定 0.5px 的线条粗细&#xff0c;因为 CSS 中的像素单位是最小单位&#xff0c;通常无法表示小数像素。但是&#xff0c;可以通过一些技巧来模拟出看起来像是 0.5px 粗细的线条&#xff0c;例如使用伪元素和缩放等技巧。 以下是一种近似…

vue 中 使用腾讯地图 (动态引用腾讯地图及使用签名验证)

在设置定位的时候使用 腾讯地图 选择地址 在 mounted中引入腾讯地图&#xff1a; this.website.mapKey 为地图的 key // 异步加载腾讯地图APIconst script document.createElement(script);script.type text/javascript;script.src https://map.qq.com/api/js?v2.exp&…

QT C++(QT控件 QLabel,QLCDNumber,QProgressBar,QCalendarWidget)

文章目录 1. QLabel2. QLCDNumber3. QProgressBar4. QCalendarWidget 1. QLabel QLabel常见属性&#xff1a; text&#xff1a;QLabel中的文本textFormat&#xff1a;文本中的格式 Qt::PlainText:纯文本Qt::RichText:富文本&#xff0c;支持html标签Qt::MarkdownText markdow…

本地部署 SenseVoice - 阿里开源语音大模型

本地部署 SenseVoice - 阿里开源语音大模型 1. 创建虚拟环境2. 克隆代码3. 安装依赖模块4. 启动 WebUI5. 访问 WebUI 1. 创建虚拟环境 conda create -n sensevoice python3.11 -y conda activate sensevoice 2. 克隆代码 git clone https://github.com/FunAudioLLM/SenseVoic…

谈面向任务的多轮对话系统(TOD)

面向任务对话系统&#xff08;Task-Oriented Dialogue (TOD) Systems)主要是为解决特定任务的&#xff0c;比如订票任务&#xff08;订机票&#xff0c;电影票等&#xff09;&#xff0c;预定饭店等。这种对话往往需要多轮对话才能够完成。 多轮对话的例子 客户预定一个餐厅的…

关于GIS的概念方面在前端编程中的理解

关于GIS的概念方面在前端编程中的理解 一. 什么是gis二. 关于地球的建模(了解)三. GIS坐标系表现形式四.GIS的数据4.1 矢量数据4.2 栅格数据4.3 矢量数据和栅格数据的不同 一. 什么是gis 地理坐标系统&#xff0c;其目的就是通过地理坐标系可以确定地球上任何一点的位置。 二. …