qt 获取本机ip 三种方法
QHostInfo info = QHostInfo::fromName(QHostInfo::localHostName());
foreach(QHostAddress address,info.addresses())
{
if(address.protocol()==QAbstractSocket::IPv4Protocol)
qDebug()<<address.toString(); //输出IPV4的地址
}
//通过QNetworkInterface类来获取本机的IP地址和网络接口信息
QList<QNetworkInterface> list = QNetworkInterface::allInterfaces();
//获取所有网络接口的列表
foreach(QNetworkInterface interface,list)
{
//遍历每一个网络接口
qDebug() << "Device: "<<interface.name();
//设备名
qDebug() << "HardwareAddress:"<<interface.hardwareAddress();
//硬件地址
QList<QNetworkAddressEntry> entryList = interface.addressEntries();
//获取IP地址条目列表,每个条目中包含一个IP地址,一个子网掩码和一个广播地址
foreach(QNetworkAddressEntry entry,entryList)
{
//遍历每一个IP地址条目
qDebug()<<"IP Address: "<<entry.ip().toString();
//子网掩码
qDebug()<<"Netmask: "<<entry.netmask().toString();
//广播地址
qDebug()<<"Broadcast: "<<entry.broadcast().toString();
qDebug()<<endl;
}
}
QString ad =QNetworkInterface::allAddresses().first().toString();
qDebug()<<"QNetworkInterface::allAddresses().first().toString()"<<ad;
QString getIP()
{
QList<QHostAddress> list =QNetworkInterface::allAddresses();
foreach (QHostAddress address, list)
{
if(address.protocol() ==QAbstractSocket::IPv4Protocol)
//我们使用IPv4地址
return address.toString();
}
return 0;
}
链接: https://blog.youkuaiyun.com/qq_25800311/article/details/81068351