开发笔记

  • 首页
  • 工具箱
三味线的博客
  1. 首页
  2. Qt
  3. 正文

Qt获取本机IP

2019-04-24 1355点热度 2人点赞 0条评论

获取所有IP:

#include <QNetworkInterface>
#include <QHostAddress>
#include <QAbstractSocket>
#include <QDebug>

foreach (QHostAddress addr,QNetworkInterface::allAddresses())
{
    if(addr.protocol()==QAbstractSocket::IPv4Protocol)
    {
        qDebug()<<"IPV4: "<<addr.toString();
    }
    else if(addr.protocol()==QAbstractSocket::IPv6Protocol)
    {
        qDebug()<<"IPV6: "<<addr.toString();
    }
}

输出:

IPV6:  "fe80::e012:9e1d:41c1:14ab%18"
IPV4:  "169.254.20.171"
IPV6:  "fe80::18f8:23c5:f397:3d1a%17"
IPV4:  "169.254.61.26"
IPV6:  "::1"
IPV4:  "127.0.0.1"
IPV6:  "fe80::7d9e:2612:9d35:4012%11"
IPV4:  "192.168.2.120"
IPV6:  "::1"
IPV4:  "127.0.0.1"
IPV6:  "fe80::100:7f:fffe%12"
IPV6:  "fe80::5efe:c0a8:278%14"

但我只想获取局域网IP:

#include <QHostAddress>
#include <QHostInfo>
#include <QAbstractSocket>
#include <QDebug>

QHostInfo info=QHostInfo::fromName(QHostInfo::localHostName());
foreach(QHostAddress address, info.addresses())
{
    if (address.protocol() == QAbstractSocket::IPv4Protocol)
    {
        qDebug() << "IPv4 Address:" << address.toString();
    }
}

输出:

IPv4 Address: "192.168.2.120"
标签: Qt
最后更新:2020-06-06

三味线

不吃咸鱼的喵

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

Captcha Code

COPYRIGHT © 2022 voidcat.cn. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蜀ICP备18010095号-1