直接上代码:
QString detail="";
QList<QNetworkInterface> list=QNetworkInterface::allInterfaces();
for(int i=0;i<list.count();i++)
{
QNetworkInterface interface=list.at(i);
detail=detail+tr("设备:")+interface.name()+"\n";
detail+=tr("硬件地址:")+interface.hardwareAddress()+"\n";
QList<QNetworkAddressEntry> entryList=interface.addressEntries();
for(int j=0;j<entryList.count();j++)
{
QNetworkAddressEntry entry=entryList.at(j);
detail+="\t"+tr("ip地址:")+entry.ip().toString()+"\n";
detail+="\t"+tr("子网掩码:")+entry.netmask().toString()+"\n";
detail+="\t"+tr("广播地址:")+entry.broadcast().toString()+"\n";
}
}
QMessageBox::information(this,tr("Detail"),detail);<span style="color:#c0c0c0;">
</span>
接下来解释每行代码的意思:
定义一个字符串detail,获取所有网络接口存到list中,这里指所有在同一个网络下的主