【qt】如何获取本机的IP地址?

需要用到这个类QHostInfo 和pro里面添加network 模块

用这个类的静态函数forName()来获取该主机名的信息

返回的就是这个类

这个
QHostInfo
类就包括主机的IP地址信息

用静态函数addresses()来获取
返回的是一个
QHostAddress
的容器

cpp 复制代码
QList<QHostAddress>addrList = hostInfo.addresses();
    if(!addrList.isEmpty())
    {
        for(int i=0;i<addrList.count();i++)
        {
            QHostAddress address=addrList[i];
            if(address.protocol()==QAbstractSocket::IPv4Protocol)
            {
                ui->textEdit->append(address.toString());
            }
        }
    }

**protocol()**是来获取主机地址的网络层协议

返回的参数可能是这些

当前获取的IPV4的地址,但是在2019年的时候就已经宣布了IPV4的地址已经用完了

所以现在有了IPV6的出现!

if(address.protocol()==QAbstractSocket::IPv6Protocol)

把上面代码的4换成6就可以获取IPV6地址了.

运行结果:

相关推荐
我是黄大仙几秒前
利用飞书多维表格自动发布版本
运维·服务器·数据库·飞书
ascarl20103 分钟前
生成自签名证书并配置 HTTPS 使用自签名证书
网络协议·http·https
大懒的猫猫虫17 分钟前
Upload-Labs-Linux1学习笔迹 (图文介绍)
学习
ctrey_43 分钟前
2024-11-13 学习人工智能的Day26 sklearn(2)
人工智能·学习·sklearn
汤米粥1 小时前
怎么样绑定域名到AWS(亚马逊云)服务器
服务器·云计算·aws
写bug的小屁孩1 小时前
websocket初始化
服务器·开发语言·网络·c++·websocket·网络协议·qt creator
Allen zhu1 小时前
【PowerHarmony】电鸿蒙学习记录-编写helloworld!
学习·华为·harmonyos
石牌桥网管2 小时前
DNS Resolver解析服务器出口IP查询
运维·网络·tcp/ip·dns
Json____2 小时前
学法减分交管12123模拟练习小程序源码前端和后端和搭建教程
前端·后端·学习·小程序·uni-app·学法减分·驾考题库