1.只有一个本地网卡
此时获取IP地址最简单的方法如下所示,但是这种方法只能获取IP地址。需包含头文件#include <QNetworkInterface>,.pro文件中加入network模块。
void getLocalIpWithQt()
{
QList<QHostAddress> ipList = QNetworkInterface::allAddresses();
foreach(QHostAddress ipItem, ipList)
{
//只显示以192开头的IP地址
if(ipItem.protocol()==QAbstractSocket::IPv4Protocol&&ipItem!=QHostAddress::Null
&&ipItem!=QHostAddress::LocalHost&&ipItem.toString().left(3)=="192")
{
qDebug()<<ipItem.toString();
}
}
}
2.只有虚拟网卡和一个本地网卡
安装了虚拟机后,获取网卡信息时,会自动获取到虚拟网卡的信息,但是我们大多数时候并不需要虚拟网卡信息,因此必须以虚拟网卡