在前面的文章中介绍了与 获 取 本 机 网 络 信 息 相 关 的 类 常 用 的 有 4 个 , 分 别 是 : QHostAddress, QHostInfo, QNetworkInterface 和 QNetworkAddressEntry。这4个类就不详细介绍了,本文我们主要使用这4个类中的常用方法来获取有关网络接口的相关信息。

 #include "mainwindow.h"

 #ifdef IR_FUNC_TEST
#include <QDebug>
#include <QHostInfo>
#include <QHostAddress>
#include <QNetworkInterface>
#include <QNetworkAddressEntry> #endif MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{ #ifdef IR_FUNC_TEST
// 获取主机名
QString localHostName = QHostInfo::localHostName();
qDebug() << "主机名: " << localHostName; // 获取本主机上的IP地址列表
QHostInfo hostInfo = QHostInfo::fromName(localHostName);
QList<QHostAddress> addrList = hostInfo.addresses();
qDebug() << "本主机上的IP地址列表,总计: " << addrList.count();
foreach (QHostAddress var, addrList) {
qDebug() << var.toString();
} // 获取本机的网络接口列表
QList<QNetworkInterface> ifaceList = QNetworkInterface::allInterfaces();
for (int i = ; i < ifaceList.count(); i++){
QNetworkInterface var = ifaceList.at(i);
qDebug() << tr("########## 设备%1 ############").arg(i);
qDebug() << tr("接口名称:") << var.humanReadableName();
qDebug() << tr("设备名称:") << var.name();
qDebug() << tr("硬件地址:") << var.hardwareAddress(); // 读取一个IP地址的关联信息列表
QList<QNetworkAddressEntry> entryList = var.addressEntries();
foreach(QNetworkAddressEntry entry, entryList){
qDebug() << "IP: " << entry.ip().toString();
qDebug() << "子网掩码:" << entry.netmask().toString();
qDebug() << "广播地址:" << entry.broadcast().toString();
}
} #endif
} MainWindow::~MainWindow()
{ }

Qt-获取网络接口信息的综合示例的更多相关文章

  1. 自己动手写路由器之ioctl获取网络接口信息

    最近打算写一个简单路由器,里面有用到ioctl获取网络接口信息,那就先把这部分单独拿出来说一说吧! ioctl这个函数,可以用来对特殊文件的基础设备参数进行操作,它们可以完成与打开文件描述符相关联的控 ...

  2. Linux获取网络接口信息

    linux获取网络接口信息需要用到的函数为ioctl(),结构体struct ifreq,struct ifconf 1.ioctl()函数原型及作用 #include <sys/ioctl.h ...

  3. 获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf

    转载请注明出处:windeal专栏 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq  结构体struct ifconf来获取网络接口的各种信息. ioctl 首先看 ...

  4. [转]使用GetIfTable获取MIB_IFTABLE和MIB_IFROW获取网络接口信息

    #include <iphlpapi.h> #pragma comment ( lib, "iphlpapi.lib") 使用GetIfTable()获取各个端口信息的 ...

  5. Qt 获取屏幕信息

    void GetScreenInfo() { QDesktopWidget* desktopWidget = QApplication::desktop(); //获取可用桌面大小 QRect des ...

  6. Qt ------ 获取 wifi 信息

    QProcess:可以调用外部进程 netsh wlan show interfaces:可以查看连接哪个wifi netsh wlan show networks:显示所有可用的wifi netsh ...

  7. Qt - 获取本机网络信息

    目的: 获取本机的主机名.IP地址.硬件地址等网络信息. 工具: 使用Qt提供的网络模块QtNetwork(pro文件里面加network): 使用Qt提供的类QHostInfo.QNetworkIn ...

  8. Qt 获取usb设备信息 hacking

    /************************************************************************** * Qt 获取usb设备信息 hacking * ...

  9. SharePoint 2013 APP 开发示例 (二)获取用户信息

    SharePoint 2013 APP 开发示例 (二)获取用户信息 这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的  SharePo ...

随机推荐

  1. How to add “Maven Managed Dependencies” library in build path eclipse

    If you have m2e installed and the project already is a maven project but the maven dependencies are ...

  2. Select-Object用法

    展开 modules 属性的详细信息 get-process |? {$_.processname -eq "cmd"}|select -ExpandProperty module ...

  3. 授予普通域用户远程桌面连接DC/客户端权限

    普通域用户通过远程桌面登录DC: 1)将该用户加入到 Remote Desktop Users 组中

  4. Windows Phone开发-开发环境和结构

    Windows Phone 7.1的开发工具发布了,一直对WP7很关注,现在终于可以开始学习了.其实09年就学习过silverlight,看过3的SDK文档,当时因为工作,断断续续也没有坚持下来,所以 ...

  5. 打开已存在 Android项目及常见的问题

    Eclipse 打开已存在 Android项目及常见的问题   1.  点击菜单“File”-- "Import",会弹出 Import 对话框:   2,  选择“General ...

  6. JavaScript标准Selection操作

    简介 术语 属性 方法 document.activeElement document.designMode = 'on'; 简介 selection是对当前激活选中区(即高亮文本)进行操作. 在非I ...

  7. Route Filters

    Route Filters The Controller's Middleware, represents a High-Level processing API, executed by the r ...

  8. mysql控制流程函数

    1.case语句 select case 2 when 1 then '男' when 2 then '女' else 'xoap' end as result; 2.if语句 select if(1 ...

  9. 警告:Pointer is missing a nullability type specifier (__nonnull or __nullable)

    当我们定义某个属性的时候  如果当前使用的编译器版本比较高(6.3+)的话经常会遇到这样一个警告: 而且奇怪的是在某些文件中定义这个属性是没有任何警告的 但是在某些文件中定义同样的属性就会报错: 其实 ...

  10. [未完成]关于枚举(Enum)

    今天总结一下枚举相关的知识.先附一段关于枚举的代码: package org.talend.core.model.param; import org.talend.core.i18n.Messages ...