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

运行结果:

相关推荐
烤麻辣烫13 小时前
黑马程序员苍穹外卖(新手)DAY6
java·开发语言·学习·spring·intellij-idea
友友马14 小时前
『QT』窗口 (一)
开发语言·数据库·qt
大柏怎么被偷了14 小时前
【Linux】进程等待
linux·运维·服务器
Xudde.15 小时前
Quick2靶机渗透
笔记·学习·安全·web安全·php
互联网老欣15 小时前
2025年保姆级教程:阿里云服务器部署Dify+Ollama,打造专属AI应用平台
服务器·阿里云·ai·云计算·dify·ollama·deepseek
AA陈超16 小时前
Git常用命令大全及使用指南
笔记·git·学习
麦麦在写代码16 小时前
前端学习5
前端·学习
悦悦欧呐呐呐呐17 小时前
数据库事务是什么,怎么用的
服务器·数据库·oracle
降临-max17 小时前
JavaSE---网络编程
java·开发语言·网络·笔记·学习
1560820721917 小时前
基于7VX690T FPGA实现万兆TCP/IP资源和性能测试
网络协议·tcp/ip·fpga开发