码迷,mamicode.com
首页 > 其他好文 > 详细

QT5获取本机信息

时间:2018-11-29 20:03:55      阅读:241      评论:0      收藏:0      [点我收藏+]

标签:sem   ofo   mac地址   each   trie   qstring   machine   广播   break   

获取主机名称
/*
 * 名称:get_localmachine_name
 * 功能:获取本机机器名称
 * 参数:no
 * 返回:QString
 */
QString CafesClient::get_localmachine_name()
{
    QString machineName     = QHostInfo::localHostName();
    return machineName;
}

获取本机IP地址

/*
 * 名称:get_localmachine_ip
 * 功能:获取本机的IP地址
 * 参数:no
 * 返回:QString
 */
QString CafesClient::get_localmachine_ip()
{
    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();
    return ipAddress;
}

获取本机网络连接名、MAC地址

/*
 * 名称:get_localmachine_mac
 * 功能:获取本机的MAC地址
 * 参数:no
 * 返回:void
 */
QString CafesClient::get_localmachine_mac()
{
    QList<QNetworkInterface> nets       = QNetworkInterface::allInterfaces();
    int i = 0;
    foreach(QNetworkInterface ni,nets)
    {
        i++;
        qDebug()<<i<<ni.name()<<ni.hardwareAddress()<<ni.humanReadableName();
    }
}

获取本机子网掩码、广播地址

//在上个函数的环境下
QList<QNetworkAddressEntry> entryList =interface.addressEntries();
//获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址
foreach(QNetworkAddressEntry entry,entryList)
{
    //遍历每一个IP地址条目
qDebug()<<”IP Address:
            “<<entry.ip().toString();
    //IP地址
qDebug()<<”Netmask:
            “<<entry.netmask().toString();
    //子网掩码
qDebug()<<”Broadcast:
            “<<entry.broadcast().toString();
    //广播地址
}

参考文章:https://www.yuque.com/docs/share/d8a4084b-525a-4957-a93d-d718a5893051

QT5获取本机信息

标签:sem   ofo   mac地址   each   trie   qstring   machine   广播   break   

原文地址:http://blog.51cto.com/4754569/2323967

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!