Qt中如何获取Ip地址

获取本机的IP地址
首先获取本地的主机名称,QString hostname = QHostInfo::localHostName();
然后根据主机名称,来获取"IP地址"。QHostInfo hostinfo = QHostInfo::fromName(hostname);但是这里的IP地址不只是IP地址。是一个总信息的集合
hostinfo中通过addresses()函数来直接获取地址列表:QList<QHostAddress> addList = hostinfo.addresses();
剩下的内容就从这个列表中分离每一项的地址,然后判定是iPv4/ipv6.然后通过tostring()将其转换成字符串使用即可。
完整代码如下:
QString MainWindow::getlockIp()
{
    //获取IPv4地址
    QString hostname = QHostInfo::localHostName();
    QHostInfo hostinfo = QHostInfo::fromName(hostname);
    QString localip = "";
    QList<QHostAddress> addList = hostinfo.addresses();
    if(!addList.isEmpty())
        for(int i = 0;i<addList.size();i++)
        {
            QHostAddress aHost = addList.at(i);
            if(QAbstractSocket::IPv4Protocol == aHost.protocol())
            {
                localip = aHost.toString();
                break;
            }
        }
    return localip;
}

  • 8
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值