您现在的位置是:首页 > 技术文章网站首页技术文章

[Qt]获取本机IP和名称

  • WangYe
  • 2020-12-05 01:00:49
  • 227 次阅读
Qt 获取本机IP和名称

效果:

图片.png


代码:

#include <QCoreApplication>
#include <QDebug>
#include <QHostInfo>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);

    QString localHostName = QHostInfo::localHostName();

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

    return a.exec();
}

注:

XXXX.pro 添加如下:

QT += network


效果:

图片.png

代码:

/*
 *获取本机Ip地址
 */
#include <QHostAddress>
#include <QNetworkInterface>
void QtScreen::getIp()
{
    QString ipAddress;
    QList<QHostAddress> ipAddressesList = QNetworkInterface::allAddresses();
    // use the first non-localhost IPv4 address
    for (int i = 0; i < ipAddressesList.size(); ++i) {
        if (ipAddressesList.at(i) != QHostAddress::LocalHost &&
            ipAddressesList.at(i).toIPv4Address()) {
            ipAddress = ipAddressesList.at(i).toString();
            break;
        }
    }
    // if we did not find one, use IPv4 localhost
    if (ipAddress.isEmpty())
        ipAddress = QHostAddress(QHostAddress::LocalHost).toString();
    qDebug() << "IP为:" << ipAddress;
}

注:

XXXX.pro 添加如下:

QT += network


TAG: Qt IP Name 本机

文章评论 (0)



Top