使用Qt中的QHostInfo来获取本地IP地址
QString hostNme = QHostInfo::localHostName();
QHostInfo hostInfo = QHostInfo::fromName(hostNme);
auto addList = hostInfo.addresses();
if (addList.isEmpty())
{
Q_ASSERT(false);
}
for (int i = 0;i < addList.count();++i)
{
QHostAddress hostAddress = addList.at(i);
auto ipAddr = hostAddress.toString();
}
注意
- VS需要勾选网络模块
右键VS项目。选择 Qt Project Settings 。切换到 Qt Modules页面 勾选 NetWork
- 上述代码中的
QString hostNme = QHostInfo::localHostName();
其中的hostName变量是 计算机名。 且当计算机名为中文的时候,无法解析出IP地址。