文档介绍:第10章 Qt 5网络与通信
获取本机网络信息
基于UDP的网络广播程序
基于TCP的网络聊天室程序
Qt网络应用开发初步
获取本机网络信息
(1)”的具体代码。
(2)”的具体代码。
#include ""
 
NetworkInformation::NetworkInformation(QWidget *parent)
: QWidget(parent)
{
hostLabel = new QLabel(tr("主机名:"));
LineEditLocalHostName = new QLineEdit;
ipLabel = new QLabel(tr("IP 地址:"));
LineEditAddress = new QLineEdit;
 
detailBtn = new QPushButton(tr("详细"));
 
mainLayout = new QGridLayout(this);
mainLayout->addWidget(hostLabel,0,0);
mainLayout->addWidget(LineEditLocalHostName,0,1);
mainLayout->addWidget(ipLabel,1,0);
mainLayout->addWidget(LineEditAddress,1,1);
mainLayout->addWidget(detailBtn,2,0,1,2);
}
获取本机网络信息
此时,。
获取本机网络信息
以上完成了界面,下面开始真正实现获得本机网络信息的内容。
(1)”中添加如下代码:
QT += network
(2)”中添加如下代码:
#include <QHostInfo>
#include <QNetworkInterface>
public:
void getHostInformation();
public slots:
void slotDetail();
获取本机网络信息
(3)”中添加代码。其中,在构造函数的最后添加:
getHostInformation();
connect(detailBtn,SIGNAL(clicked()),this,SLOT(slotDetail()));
getHostInformation()函数用于获得主机信息。具体实现代码如下:
workInformation::getHostInformation()
{
QString localHostName = QHostInfo::localHostName();
LineEditLocalHostName->setText(localHostName);
 
QHostInfo hostInfo = QHostInfo::fromName(localHostName);
QList<QHostAddress> listAddress = ();
if(!())
{
LineEditAddress->setText(().toString());
}
}
获取本机网络信息
slotDetail()函数获得与网络接口相关的信息,具体实现代码如下:
workInformation::slotDetail()
{
QString detail="";
QList<QNetworkInterface> list=QNetworkInterface::allInterfaces();
for(int i=0;i<();i++)
{
QNetworkInterface interface=(i);
detail=detail+tr("设备:")+()+"\n";
detail=detail+tr("硬件地址:")+()+"\n";
QList<QNetworkAddressEntry> entryList=();
for(int j=0;j<();j++)
{
QNet