Qt-获取网络接口信息的综合示例
在前面的文章中介绍了与 获 取 本 机 网 络 信 息 相 关 的 类 常 用 的 有 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-获取网络接口信息的综合示例的更多相关文章
- 自己动手写路由器之ioctl获取网络接口信息
最近打算写一个简单路由器,里面有用到ioctl获取网络接口信息,那就先把这部分单独拿出来说一说吧! ioctl这个函数,可以用来对特殊文件的基础设备参数进行操作,它们可以完成与打开文件描述符相关联的控 ...
- Linux获取网络接口信息
linux获取网络接口信息需要用到的函数为ioctl(),结构体struct ifreq,struct ifconf 1.ioctl()函数原型及作用 #include <sys/ioctl.h ...
- 获取网络接口信息——ioctl()函数与结构体struct ifreq、 struct ifconf
转载请注明出处:windeal专栏 Linux 下 可以使用ioctl()函数 以及 结构体 struct ifreq 结构体struct ifconf来获取网络接口的各种信息. ioctl 首先看 ...
- [转]使用GetIfTable获取MIB_IFTABLE和MIB_IFROW获取网络接口信息
#include <iphlpapi.h> #pragma comment ( lib, "iphlpapi.lib") 使用GetIfTable()获取各个端口信息的 ...
- Qt 获取屏幕信息
void GetScreenInfo() { QDesktopWidget* desktopWidget = QApplication::desktop(); //获取可用桌面大小 QRect des ...
- Qt ------ 获取 wifi 信息
QProcess:可以调用外部进程 netsh wlan show interfaces:可以查看连接哪个wifi netsh wlan show networks:显示所有可用的wifi netsh ...
- Qt - 获取本机网络信息
目的: 获取本机的主机名.IP地址.硬件地址等网络信息. 工具: 使用Qt提供的网络模块QtNetwork(pro文件里面加network): 使用Qt提供的类QHostInfo.QNetworkIn ...
- Qt 获取usb设备信息 hacking
/************************************************************************** * Qt 获取usb设备信息 hacking * ...
- SharePoint 2013 APP 开发示例 (二)获取用户信息
SharePoint 2013 APP 开发示例 (二)获取用户信息 这个示例里,我们将演示如何获取用户信息: 1. 打开 Visual Studio 2012. 2. 创建一个新的 SharePo ...
随机推荐
- MySQL5日期类型DATETIME和TIMESTAMP相关问题详解
MySQL5日期类型DATETIME和TIMESTAMP相关问题详解 MySQL5的日期类型有三种:DATETIME.DATE和TIMESTAMP,除了DATE用来表示一个不带时分秒的是日期,另外两个 ...
- PowerShell查询sql server
function Invoke-SQL1: function Invoke-SQL { param( [string] $DBServer, [string] $Database, [string] ...
- 更改OS序列号(slmgr)
slmgr /ipk 489j-abc-def-hij-mnn slmgr /skms 8.8.8.8:1688 slmgr /ato
- DHCP Option 60 的理解
原文地址: http://blog.163.com/chenqioulin_1983/blog/static/83216232010109104430251/ 首先还是看看RFC咋说的吧.DHCP ...
- 【52】写了placement new也要写placement delete
1.Widget* pw = new Widget; 调用了两个方法:第一个方法是operator new 负责分配内存:第二个方法是在分配的内存上构造Widget,即调用Widget的default ...
- Image1.Canvas画图笔刷
如何背景透明 unit Unit1;interfaceuses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Va ...
- c# label的内容显示不全
c# label的内容显示不全.须要设置例如以下属性就可以: 1.将Lable的font属性的字体改成宋体: 2.将AutoSize属性改成true: 然后内容就能够显示所有了.
- XAMPP环境下用phpStorm+XDebug进行断点调试的配置
具体过程: 服务器端(本地调试的情况下就是在本机)安装好XAMPP,停止apache服务(注意,如果直接退出XAMPP,是不会停止apache的) 在安装目录下找到php.ini,类似于D:\xamp ...
- Unescape HTML entities in Javascript Unescape HTML转成html代码
前言: 在javascript里面动态创建标准dom对象一般使用: var obj = document.createElement('div'); 然后再给obj设置一些属性. 但是,在实际使用过程 ...
- java专业规划(转载)
1. Java语言基础 谈到Java语言基础学习的书籍,大家肯定会推荐Bruce Eckel的<Thinking in Java>.它是一本写的相当深刻的技术书籍,Java语言基础 ...