说明

  • 需要添加 network模块
  • 本文介绍的函数将读取所有本机IP,包括 ipv4和ipv6
  • 本文演示版本 qt5.14

头文件

#include <QHostAddress>
#include <QNetworkInterface>

读取代码

QStringList get_ip_()
{
QStringList list_ip;
QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
int nListSize = ipAddressesList.size(); for (int i = 0; i < nListSize; ++i)
list_ip << ipAddressesList.at(i).toString(); return list_ip;
}

调用

	qint32 index = 0;

	QStringList list_ip = get_ip_();
for (auto item : list_ip)
{
qDebug() << "index=" << ++ index << ", ip=" << item;
}

结果

说明

  • 上面的图片中可见,ipv6的地址中含有网卡编号, 我们只需要%左边的ip地址即可, 于是修正上面的代码即可得到
QStringList get_ip_()
{
QStringList list_ip;
QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
int nListSize = ipAddressesList.size(); for (int i = 0; i < nListSize; ++i)
{
QString str_tmp = ipAddressesList.at(i).toString();
int split_pos = str_tmp.indexOf('%'); if (-1 != split_pos)
{
if ( 0 != split_pos)
split_pos = split_pos - 1;
str_tmp = str_tmp.left(split_pos);
} list_ip << str_tmp;
} return list_ip;
}

结果

最新文章

  1. 使用 ServiceStack 构建跨平台 Web 服务
  2. 前端学PHP之函数
  3. redis cluster php 客户端 predis
  4. 配置java环境 ,安装Android Studio...(ps:用eclipse也不错,但as是趋势 自己凭爱好选择)
  5. STM32移植RT-Thread后的串口在调试助手上出现:(mq != RT_NULL) assert failed at rt_mq_recv:2085和串口只发送数据不能接收数据问题
  6. c++成员函数的存储方式---11
  7. Opencv相关细节
  8. linux环境下安装sphinx中文支持分词搜索(coreseek+mmseg)
  9. **RESTful API版本控制策略
  10. LINUX 内核代码 errno 错误代码提示 /include/asm/errno.h
  11. 三、原子变量与CAS算法
  12. 背水一战 Windows 10 (105) - 通知(Toast): 带按钮的 toast, 带输入的 toast(文本输入框,下拉选择框)
  13. poj1062昂贵的聘礼(枚举+最短路)
  14. MUI 自定义从底部弹出的弹出框
  15. 力扣(LeetCode)125. 验证回文串
  16. 《Linux性能及调优指南》第二章:监控和基准工具2.1-2.2
  17. Javaweb学习(二):Http通信协议
  18. RNAcentral 数据库简介
  19. yum 执行不了, 解决方法
  20. linux每天一小步---mv命令详解

热门文章

  1. UVA12267 Telephone Network
  2. Linux环境下R和R包安装及其管理
  3. MetaboAnalyst的多组学分析
  4. python-django使用ORM模型增删改查CRUD
  5. Linux—yum的python版本错误——高级解决方案
  6. 如何使用 Kind 快速创建 K8s 集群?
  7. android studio 使用 aidl(一)基础用法
  8. Linux基础命令---alias别名
  9. Dubbo应用到web工程
  10. contrller层的编码设设计流程以及详细配置