您的位置:首页 > 理论基础 > 计算机网络

Qt简单网络运用获得本机IP

2016-03-22 11:30 477 查看
使用QHostInfo、QNetworkInterface和QNetworkAddressEntry类可以获得本机IP

1.要连接网络必须在qt项目文件中加添
QT+= network


2.使用QHostInfo::localHostName();获得本机主机名,通过主机名调用QHostInfo::fromName(localHostName);得到QHostInfo 对象,然后调用它的addresses方法获得本机Ip地址表。

3.也可以使用QNetworkInterface类的allInterfaces方法获得一个网络接口列表,通过其方法可以获得设备名和一些相关信息。

具体代码如下:

QString detail = "";

QList<QNetworkInterface>list = QNetworkInterface::allInterfaces();

for(int i = 0;i < list.count();i++)

{

QNetworkInterface interface = list.at(i);

detail = detail + tr("设备:") + interface.name() + "\n";

detail = detail + tr("硬件地址:") + interface.hardwareAddress() + "\n";

QList<QNetworkAddressEntry> entryList = interface.addressEntries();

for (int j = 0; j < entryList.count();j++)

{

QNetworkAddressEntry entry = entryList.at(j);

detail = detail + "\t" + "ip地址:" + entry.ip().toString() + "\n";

detail = detail + "\t" + "子网掩码:" + entry.netmask().toString() + "\n";

detail = detail + "\t" + "广播地址:" + entry.broadcast().toString() + "\n";

}

}

QMessageBox::information(this,tr("Detail"),detail);

QFile file("detail.txt");

if (file.open(QFile::WriteOnly|QFile::Truncate))

{

QTextStream stream(&file);

stream << detail;

}

file.close();


因为本人为笔记本信息较多,故输入到文件中进行查看。初学有问题请指正,谢谢!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  qt 网络 ip地址获取