Qt 获取本机本地网卡的IPv4地址

本文介绍怎么用Qt去获取本机的ipv4地址

用法

话不多说,直接上代码:

QHostAddress hostIP()
{
auto list = QNetworkInterface::allInterfaces();
foreach (QNetworkInterface interface, list) {
// 1. 首先判断是不是以太网,过滤WiFi
if (interface.type() != QNetworkInterface::Ethernet)
continue; // 2. 如果有安装VMware虚拟机的话,会出现两个虚拟网卡
// 匹配关键字"VMware"。来过滤虚拟网卡
if (interface.humanReadableName().contains("VMware"))
continue; // 3. 一般都会有两个ip地址,一个ipv4一个ipv6地址
// 根据协议版本,来过滤掉ipv6地址
foreach (auto entry ,interface.addressEntries()) {
if (entry.ip().protocol() == QAbstractSocket::IPv4Protocol)
return entry.ip();
}
} return QHostAddress();
}

Qt 获取本机ipv4地址的更多相关文章

  1. Qt获取本机IP地址

    Qt获取本机IP地址: Qt版本:4.8.6 #include <QtNetwork/QNetworkInterface.h> QString ipAddr; QList<QHost ...

  2. [转载]C#获取本机IPv4地址

    C#获取本机IP地址在C#1.0之后都使用下面的这种形式: IPHostEntry ipe = Dns.GetHostEntry(Dns.GetHostName()); IPAddress ipa=i ...

  3. Qt 获取本机ip地址  【转自 CSDN jpchen609

    QString str; QHostInfo info=QHostInfo::fromName(QHostInfo::localHostName()); //定义一个HostInfo的对象然后对这个对 ...

  4. QT5下获取本机IP地址、计算机名、网络连接名、MAC地址、子网掩码、广播地址

    获取主机名称 /* * 名称:get_localmachine_name * 功能:获取本机机器名称 * 参数:no * 返回:QString */ QString CafesClient::get_ ...

  5. 详谈再论JAVA获取本机IP地址

    首先,你如果搜索“JAVA获取本机IP地址”,基本上搜到的资料全是无用的.比如这篇:http://www.cnblogs.com/zrui-xyu/p/5039551.html实际上的代码在复杂环境下 ...

  6. c#中如何获取本机MAC地址、IP地址、硬盘ID、CPU序列号等系统信息

    我们在利用C#开发桌面程序(Winform)程序的时候,经常需要获取一些跟系统相关的信息,例如用户名.MAC地址.IP地址.硬盘ID.CPU序列号.系统名称.物理内存等. 首先需要引入命名空间: us ...

  7. qt获取本机ip

    //获取本机IP QString getIP(QString localHost) { QString ipAddr; #if 0 QList<QHostAddress> AddressL ...

  8. 获取本机IP地址

    这里有两种方法: //获取本机IP - (NSString *)localIPAddress { NSString *localIP = nil; struct ifaddrs *addrs; ) { ...

  9. 关于是用dotnet获取本机IP地址+计算机名的方法

    印象中在maxscript帮助文档里找到过方法,但是当时没记下来.只能通过dotnet实现了. 如果电脑有无线网卡和本地连接,可能会出现乱码,也问了写dotnet的朋友,提供了一些思路,不过最终还是使 ...

  10. Windows下获取本机IP地址方法介绍

    Windows下获取本机IP地址方法介绍 if((hostinfo = gethostbyname(name)) != NULL) { #if 1 ; printf("IP COUNT: % ...

随机推荐

  1. Spring注解之-@ConditionalOnExpression表达式

    @ConditionalOnExpression("'true") 当括号中的内容为true时,使用该注解的类被实例化,支持语法如下: @ConditionalOnExpressi ...

  2. Timestamp和LocalDateTime 互转

    jdk:1.81.Timestamp 转 LocalDateTime Timestamp time = Timestamp.from(Instant.now());LocalDateTime loca ...

  3. 3款.NET开源、功能强大的通讯调试工具,效率提升利器!

    前言 今天大姚给大家分享3款.NET开源.功能强大的通讯调试工具,帮助大家提高通讯调试的效率和准确性. LLCOM LLCOM是一个.NET开源的.功能强大的串口调试工具.支持Lua自动化处理.串口调 ...

  4. Qt编写物联网管理平台38-多种数据库支持

    一.前言 本系统设计之初就要求支持多种不同的数据库,比如sqlite.mysql.postgres.sqlserver等,甚至包括国产数据库比如人大金仓kingbase等,(由于现在国产化的大力推进, ...

  5. 肖健雄(Jianxiong Xiao)的开源SFM代码SFMedu的运行方法

    注意:本文是针对肖健雄(Jianxiong Xiao)博士的的开源SFM代码SFMedu(https://github.com/jianxiongxiao/SFMedu)的运行方法. 本人的运行环境: ...

  6. OpenMMLab AI实战营 第一课笔记

    OpenMMLab AI实战营 第一课笔记 OpenMMLab AI实战营第一节课由子豪兄讲解,课程主要内容主要围绕计算机视觉和OpenMMLab开源算法体系以及机器学习和神经网络简介进行展开.这里要 ...

  7. 轻松玩转 JMeter 测试计划组件

    轻松玩转 JMeter 测试计划组件 宝子们,今天咱就来唠唠 JMeter 里那个超重要的测试计划组件,它可是整个性能测试的 "指挥官",把各种测试元素安排得明明白白. 一.测试计 ...

  8. manim边做边学--动画组合

    动画组合类的作用是将多个动画组合起来,以实现更复杂的动画效果. Manim中有4个用于动画组合的类: AnimationGroup:将多个动画组合在一起同时播放,能一次性呈现多个对象的不同变化 Lag ...

  9. 使用 docker 搭建 MySQL 主从同步/读写分离

    拉取 MySQL 容器镜像 docker pull mysql:5.7 这里我使用的是 5.7 版本,如果你想要拉取最新版本的镜像,可以使用: docker pull mysql:latest 下载完 ...

  10. nginx平台初探-3

    过滤模块简介 (90%) 执行时间和内容 (90%) 过滤(filter)模块是过滤响应头和内容的模块,可以对回复的头和内容进行处理.它的处理时间在获取回复内容之后,向用户发送响应之前.它的处理过程分 ...