实现方法:
void Params_setting::s_Local_Ip_Show()
{
QList<QNetworkInterface> interfaceList = QNetworkInterface::allInterfaces();
ui->Ip_addr_dis->clear();//清空下拉菜单内容
foreach (QNetworkInterface interfaceItem, interfaceList)
{
if(interfaceItem.flags().testFlag(QNetworkInterface::IsUp)
&&interfaceItem.flags().testFlag(QNetworkInterface::IsRunning)
&&interfaceItem.flags().testFlag(QNetworkInterface::CanBroadcast)
&&interfaceItem.flags().testFlag(QNetworkInterface::CanMulticast)
&&!interfaceItem.flags().testFlag(QNetworkInterface::IsLoopBack)
&&interfaceItem.hardwareAddress()!="00:50:56:C0:00:01"
&&interfaceItem.hardwareAddress()!="00:50:56:C0:00:08")
{
QList<QNetworkAddressEntry> addressEntryList=interfaceItem.addressEntries();
foreach(QNetworkAddressEntry addressEntryItem, addressEntryList)
{
if(addressEntryItem.ip().protocol()==QAbstractSocket::IPv4Protocol)
{
/* qDebug()<<"------------------------------------------------------------";
qDebug()<<"Adapter Name:"<<interfaceItem.name();
qDebug()<<"Adapter Address:"<<interfaceItem.hardwareAddress();
qDebug()<<"IP Address:"<<addressEntryItem.ip().toString();
qDebug()<<"IP Mask:"<<addressEntryItem.netmask().toString();*/
ui->Ip_addr_dis->addItem(addressEntryItem.ip().toString());/*将获取的IP_v4地址逐一罗列到下拉菜单里*/
}
}
}
//LocalHost回路地址 127.0.0.1
// if(address.protocol()==QAbstractSocket::IPv4Protocol)
//
}
}
以上为实现方法,仅供参考;