最重要的一步,先在工程pro文件添加 QT += network

用到头文件

QHostInfo

QNetworkInterface

函数: (只写出返回类型,没有具体到是否const

QHostInfo

QHostInfo::localHostName(); 静态函数,获取主机名

QHostInfo::fromName(hostName); 静态函数,通过主机名获取一个HostInfo对象

QList<QHostAddress> addresses(); 返回一个HostAddress列表

QHostAddress

hostAddress.toString(); 将地址作为str返回

QNetworkInterface

QList<QNetworkAddressEntry> addressEntries();  返回一个AddressEntry列表

QList<QHostAddress> allAddress(); 静态函数,返回一个HostAddress列表

QString name(); 返回设备名(网卡

QString hardwareAddress(); 返回硬件地址(MAC

QNetworkAddressEntry

entry.ip().toString(); 获取IP地址

entry.netmask().toString(); 获取子网掩码

entry.broadcast().toString(); 获取广播地址

例子效果:

代码:

槽函数

void NetInfoWidget::getLocalHostInfo()
{//获取主机名QString hostName = QHostInfo::localHostName();this->setWindowTitle(hostName);//通过主机名获取一个hostInfo对象QHostInfo hostInfo = QHostInfo::fromName(hostName);//获取一个address列表QList<QHostAddress> list = hostInfo.addresses();QString ipAddress = "";for(int i = 0; i < list.length(); ++i){//address.toString() 得到str格式的ip地址ipAddress += list.at(i).toString() + "\n";}//获取一个interface列表,通过interface中的entry来获取信息//在addRootNode函数中获取信息并设置treeWidget的内容(用于显示的控件为QTreeWigetQList<QNetworkInterface> interfaceList = QNetworkInterface::allInterfaces();foreach(QNetworkInterface interface , interfaceList){addRootNode(&interface);}QMessageBox::information(this, "详细信息", ipAddress);
}

获取信息并给treeWidget添加节点

void NetInfoWidget::addRootNode(QNetworkInterface *interface)
{QTreeWidgetItem * root = new QTreeWidgetItem(treeWidget);//获取到设备名(网卡root->setText(0,interface->name());//获取硬件地址(MACroot->setText(1,interface->hardwareAddress());//拿到entry列表,获取entry对象中的信息QList<QNetworkAddressEntry> entryList = interface->addressEntries();foreach(QNetworkAddressEntry entry , entryList){QTreeWidgetItem * ipAddressItem = new QTreeWidgetItem(root);ipAddressItem->setText(0, "ip地址");ipAddressItem->setText(1, entry.ip().toString());QTreeWidgetItem * netMaskItem = new QTreeWidgetItem(root);netMaskItem->setText(0, "子网掩码");netMaskItem->setText(1, entry.netmask().toString());QTreeWidgetItem * broadcastItem = new QTreeWidgetItem(root);broadcastItem->setText(0, "广播地址");broadcastItem->setText(1, entry.broadcast().toString());}
}

Qt学习笔记——获取本机网络信息(IP, 子网掩码, 广播地址,主机名相关推荐

  1. QT学习:获取本机网络信息

    获取本机网络信息,具体实现方法如下: (1)头文件"networkinformation.h"的具体代码如下: #include <QWidget> #include ...

  2. [Qt教程] 第35篇 网络(五)获取本机网络信息

    [Qt教程] 第35篇 网络(五)获取本机网络信息 楼主  发表于 2013-9-5 11:32:58 | 查看: 278| 回复: 2 获取本机网络信息 版权声明 该文章原创于作者yafeilinu ...

  3. [转载]Qt之获取本机网络信息

    原文地址:Qt之获取本机网络信息作者:一去丶二三里 经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的"开始键+R键",然后在弹出的对话框中输入"CMD&q ...

  4. [转载]Qt之获取本机网络信息_vortex_新浪博客

    原文地址:Qt之获取本机网络信息作者:一去丶二三里 经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的"开始键+R键",然后在弹出的对话框中输入"CMD&q ...

  5. Qt网络获取本机网络信息

    下面我们就讲解如何获取自己电脑的IP地址以及其他网络信息.这一节中,我们会涉及到网络模块(QtNetwork Module)中的QHostInfo ,QHostAddress ,QNetworkInt ...

  6. 第35篇 网络(五)获取本机网络信息

    导语 前面讲完了HTTP和FTP,下面本来该讲解UDP和TCP了.不过,在讲解它们之前,我们先在这一节里讲解一个以后要经常用到的名词,那就是IP地址. 对于IP地址,其实,会上网的人都应该听说过它.如 ...

  7. qt获取本机全部ipv4_Qt之获取本机网络信息(MAC, IP等等,很全)

    经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的"开始键+R键",然后在弹出的对话框中输入"CMD",回车 另外,还可以依次点击 开始>所 ...

  8. QT学习笔记——访问本机IP地址

    问题描述: 在QT中访问主机IP,为何只获得了127.0.0.1虚拟IP地址,无法理解~~~ 学习背景 QT中访问主机IP地址主要使用两个类:QHostInfo与QNetworkInterface类 ...

  9. 网络工程师(软考)学习笔记1--计算机网络简介及分类

    笔者在早些时候已经通过了软件考试的网络工程师,因为以前学习的时候比较赶,当时也是备考研究生入学考试,很多概念也是模糊不清的,现在想重新复习网络工程师的教程,理清概念,同时也是为了下一阶段网络规划师打好 ...

最新文章

  1. mysql服务启动很久_Mysql服务启动问题
  2. springboot 读取bootStrap.properties流程
  3. Java判断文件是否为图片文件(GIF,PNG,JPG)
  4. 关于自定义可以点击的的布局
  5. jsonp java后台_jsonp与Java后端
  6. 【日程发布】LiveVideoStackCon 音视频技术大会 2022 上海站
  7. 【渝粤题库】陕西师范大学202831 程序设计 作业(专升本)
  8. 【深度学习系列】——神经网络的可视化解释
  9. 使用jemalloc在Go中进行手动内存管理
  10. BZOJ 2631 tree(动态树)
  11. 浪潮信息能制造超级计算机吗,浪潮信息为中国航天探索事业出力 高性能计算技术领衔...
  12. 机器学习实战—FPGrowth算法的实现
  13. error: Microsoft Visual C++ 14.0 or greater is required. Get it with “Microsoft C++ Build Tools“: h
  14. Hive总结及常见语法
  15. nvidia-patch解除nvidia消费级显卡编码并发数量限制操作记录
  16. 计算机核心基础、计算机硬件组成原理、计算机硬件组成详解、硬盘接口及操作系统、计算机网络简述、OSI七层协议、子网划分、 VLAN简述
  17. linux $0命令,Linux:awk命令详解
  18. OV7725寄存器配置
  19. Python爬虫实战,pyecharts模块,Python实现中国地铁数据可视化
  20. ogg高版本到低版本同步

热门文章

  1. 微众银行区块链承担科技部国家重点研发计划项目课题
  2. 小白MAC下安装Caffe 2019最新血泪史
  3. 十五天学会Autodesk Inventor,看完这一系列就够了(九),主题/色彩/单位设置
  4. 图像处理与计算机视觉:3D射影变换
  5. 推荐一款结构化数据处理开源库,极大提高开发效率
  6. 【微机原理笔记】第 1 章 - 微型计算机基础概论
  7. 设顺序表va中的数据元素递增有序。试写一算法,将x插入到顺序表的适当位置上,以保持该表的有序性。
  8. 超高压SiC功率器件GENESIC的6500V碳化硅晶闸管SCR模块GA060TH65
  9. Python列表推导式——List
  10. App Inventor的简单介绍