【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地址了.

运行结果:

相关推荐
jrlong3 分钟前
DataWhale大模型基础与量化微调task4学习笔记(第 1章:参数高效微调_PEFT技术综述)
笔记·学习
徐同保4 分钟前
OnlyOffice HTTPS 代理配置总结
redis·网络协议·https
leiming69 分钟前
linux 进程学习之信号
linux·运维·学习
zzZ··*11 分钟前
自动登录上海大学校园
python·网络协议·selenium
zhangrelay19 分钟前
thinkpad等笔记本电脑在ubuntu等linux系统下电池校准如何做?
笔记·学习
卓应米老师29 分钟前
【网络配置实战】堆叠的配置
运维·服务器·网络·华为认证
_Kayo_33 分钟前
Node.JS 学习笔记8
笔记·学习·node.js
咸鱼翻身小阿橙34 分钟前
SQL上半部分
服务器·数据库·sql
知识分享小能手34 分钟前
Oracle 19c入门学习教程,从入门到精通,Oracle 数据表对象 —— 语法知识点详解与案例实践(10)
数据库·学习·oracle
历程里程碑36 分钟前
Linux 2 指令(2)进阶:内置与外置命令解析
linux·运维·服务器·c语言·开发语言·数据结构·ubuntu