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

运行结果:

相关推荐
柏木乃一几秒前
Linux线程(7)基于策略模式的日志模块
linux·运维·服务器·c++·线程·策略模式
敷衍一下X19 分钟前
Linux综合监控工具——nmon
linux·运维·服务器
Survivor00119 分钟前
VMware虚拟机网络技术
linux·服务器·网络
臭东西的学习笔记22 分钟前
论文学习——深度对比学习支持全基因组虚拟筛选
学习
森G23 分钟前
14、QT项目构成
qt
前端不太难31 分钟前
OpenClaw 代码里最值得学习的 10 个设计
学习·状态模式
2401_8322981036 分钟前
域名绑定怎么操作?服务器绑定域名失败的解决方法个人网站怎么绑定域名详细步骤教程
运维·服务器
点PY37 分钟前
OpenGL学习(2)——你好,三角形
学习
小涛不学习38 分钟前
WebSocket 技术详解(原理 + 使用 + 面试总结)
websocket·网络协议·面试
顶点多余38 分钟前
进程:计算机世界的执行单元
linux·运维·服务器·进程