欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址

程序员文章站 2022-07-05 23:34:41
获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:qstring */ qstring ca...

获取主机名称

/*
 * 名称: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 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 nets       = qnetworkinterface::allinterfaces();
    int i = 0;
    foreach(qnetworkinterface ni,nets)
    {
        i++;
        qdebug()<

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

//在上个函数的环境下
qlist entrylist =interface.addressentries();
//获取ip地址条目列表,每个条目中包含一个ip地址,一个子网掩码和一个广播地址
foreach(qnetworkaddressentry entry,entrylist)
{
    //遍历每一个ip地址条目
qdebug()<<”ip address:
            “<