在前面的文章中介绍了与 获 取 本 机 网 络 信 息 相 关 的 类 常 用 的 有 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. IIS连接数

    IIS连接数,也叫IIS并发数(Current Connections),是指同一时间内,有多少个对服务器的请求 一般情况下一个浏览器会占用2个IIS连接 同一个浏览器(IE.Firefox等)窗口中 ...

  2. 博客转移到lyso.me

    博客转移到http://lyso.me :)

  3. Update操作浅析,一定是先Delete再Insert吗?

    Update操作一定是先Delete再Insert吗? Update在数据库中的执行是怎么样的?“Update操作是先把数据删除,然后再插入数据”.在网上看了很多也都是这么认为的.但在查阅到一些不同看 ...

  4. Gearman + Nodejs + MySQL UDF异步实现 MySQL 到 Redis 的数据同步

    [TOC] 1, 环境 CentOS, MySQL, Redis, Nodejs 2, Redis简介 Redis是一个开源的K-V内存数据库,它的key可以是string/set/hash/list ...

  5. iOS-推送通知

    推送通知可以做3件事:(1)文字信息(2)一种声音 (3)一个徽章的标记号(第几条消息..) 推送通知流程  (app应用程序--->iOS 设备--->APNS(apple服务器)--- ...

  6. Linux系统常用命令 __转载的

    1.登录linux系统命令:login 用户名   密码: 2.注销linux系统命令:logout ; 3.在linux系统中进入windows系统(图形界面)命令:Start x; 4.关闭lin ...

  7. php实用函数整理

    1. 排序:array_multisort 可以对多位数组的多个字段进行排序 例子1如下: //自定义数组排序--按转发数从高到低排序 function sortSelfRc($oneLayer){ ...

  8. iOS 8创建交互式通知

    iOS 8提供了一个令人兴奋的新API来创建交互式通知(interactive notifications),它能让你在你的应用之外为用户提供额外的功能.我发现网上还没有关于如何实现它的比较好的示例教 ...

  9. Android_AsyncTask_DownloadImg

    layout.xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xml ...

  10. 关于C++需要加强学习的几点内容

    1.C++ effective指导原则 2.C++标准库 3.数据结构算法 4.C++设计模式 5.shell脚本 6.python