QT得到本机IP时遇到了问题!!求助!!!

QString Widget::getIP() //获取ip地址
{
QList list = QNetworkInterface::allAddresses();
foreach ( QHostAddress address, list)
{
if(address.protocol() == QAbstractSocket::IPv4Protocol)

   ui->textEdit->append(address.toString());
}
return 0;

}
这段代码编译后报错:D:\QT_Project\test_123\widget.cpp:26: error: 'address' was not declared in this scope
明明address明明声明了啊!图片说明

我用你代码测试了,代码没有问题。你再找找原因吧

图片说明

没问题啊,你看看.pro文件里有没有加 QT += network

再者,这种方法能获取到Ip吗,推荐如下方法

QHostInfo info=QHostInfo::fromName(QHostInfo::localHostName());
if (info.error() != QHostInfo::NoError){
    QMessageBox::information( this, tr("本机ip"),"*****");
}

for (int i = 0;i < info.addresses().size();i++)
{
    qDebug() << "Found :" << info.addresses()[i].toString() << endl;
}

 qDebug() << " address:" << info.addresses()[ info.addresses().size()-1 ].toString() << endl;