您的位置:首页 > 编程语言 > Qt开发

Qt编程14:Qt获取本地网络IP地址以及其他属性(以IPv4为例)

2014-07-07 14:59 246 查看
Qt网络编程:获取本地Ip地址:

//获取本地IP片地址,
QList<QHostAddress> addList = QNetworkInterface::allAddresses();

foreach(QHostAddress address,addList)
{
//排除IPV6,排除回环地址
if(address.protocol() == QAbstractSocket::IPv4Protocol
&& address != QHostAddress(QHostAddress::LocalHost))
{
//输出,转换为字符串格式
qDebug() << address.toString();
}
}
qDebug() << "----------------------------------";

//获取本地所有的网络接口
QList<QNetworkInterface> interface = QNetworkInterface::allInterfaces();

foreach(QNetworkInterface inter,interface)
{
QList<QNetworkAddressEntry> entrList = inter.addressEntries();

foreach(QNetworkAddressEntry entr,entrList)
{
QHostAddress hostIp = entr.ip();
if(hostIp.protocol() == QAbstractSocket::IPv4Protocol &&
hostIp != QHostAddress(QHostAddress::LocalHost))
{
//获取输出名称
qDebug()<<QString("名称:%1").arg(inter.humanReadableName());
//获取输出ip地址
qDebug() << QString("HostIp:%1").arg(hostIp.toString());
//获取输出子网掩码
qDebug() << QString("NetMask:%1").arg(entr.netmask().toString());
//获取并输出mac地址
qDebug() << QString("HardAddress:%1").arg(inter.hardwareAddress());
qDebug() << "----------------------------------";
}
}

}

一般结合下拉框使用

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: