qt怎么获取本地ip
时间: 2024-09-13 15:16:27 浏览: 38
在Qt中获取本地IP地址可以通过使用`QNetworkInterface`类来完成。这个类提供了查询网络接口信息的接口,包括本地IP地址。以下是一个简单的示例代码,展示如何在Qt中获取本机的所有IP地址:
```cpp
#include <QCoreApplication>
#include <QNetworkInterface>
#include <QDebug>
int main(int argc, char *argv[])
{
QCoreApplication a(argc, argv);
QList<QNetworkInterface> interfaces = QNetworkInterface::allInterfaces();
foreach (const QNetworkInterface &interface, interfaces) {
if (interface.flags() & QNetworkInterface::IsUp && !(interface.flags() & QNetworkInterface::IsLoopBack)) {
qDebug() << "Interface name:" << interface.name();
QList<QNetworkAddressEntry> entries = interface.addressEntries();
foreach (const QNetworkAddressEntry &entry, entries) {
qDebug() << "IP address:" << entry.ip().toString();
}
}
}
return a.exec();
}
```
在这段代码中,首先调用`QNetworkInterface::allInterfaces()`获取本机所有网络接口的列表。然后遍历每一个接口,检查它们是否处于激活状态并且不是回环接口。对于每一个有效的网络接口,我们再次遍历它的IP地址条目,并打印出IP地址。
阅读全文