Qt - 获取本机网络信息
目的:
获取本机的主机名、IP地址、硬件地址等网络信息。
工具:
使用Qt提供的网络模块QtNetwork(pro文件里面加network);
使用Qt提供的类QHostInfo、QNetworkInterface、QNetworkAddressEntry。
代码:
获取本机主机名和IP地址
void NetworkInformation::getHostInformation() {
//获取本机主机名
QString localHostName = QHostInfo::localHostName();
LineEditLocalHostName->setText(localHostName);
//通过本机主机名获取IP地址
QHostInfo hostInfo = QHostInfo::fromName(localHostName);
QList<QHostAddress> listAddress = hostInfo.addresses();
if(!listAddress.isEmpty()) {
LineEditAddress->setText(listAddress.first().toString());
}
}
获取本机更加详细的信息
void NetworkInformation::slotDetail() {
QString detail = "";
//获取主机IP地址和网络接口列表
QList<QNetworkInterface> list = QNetworkInterface::allInterfaces();
for(int i = 0; i < list.count(); i++) {
QNetworkInterface interface = list.at(i);
//获取网络接口名称
detail = detail + tr("设备:") + interface.name() + "\n";
//获取网络接口的硬件地址
detail = detail + tr("硬件地址:") + interface.hardwareAddress() + "\n";
//获取网络接口对应的IP地址(IPv4和IPv6)、子网掩码、广播地址
QList<QNetworkAddressEntry> entryList = interface.addressEntries();
for(int j = 0; j < entryList.count(); j++) {
QNetworkAddressEntry entry = entryList.at(j);
detail = detail + "\t" + tr("IP 地址:") + entry.ip().toString() + "\n";
detail = detail + "\t" + tr("子网掩码:") + entry.netmask().toString() + "\n";
detail = detail + "\t" + tr("广播地址:") + entry.broadcast().toString() + "\n";
}
}
QMessageBox::information(this, tr("Detail"), detail);
}
Qt - 获取本机网络信息的更多相关文章
- qt获取本机网络信息
networkinformation.h #include<QtGui/QWidget> #include<QLabel> #include<QPushButton> ...
- Qt5获取本机网络信息
获取本机网络信息 在pro文件中加入如下代码 QT += network widget.h中的代码如下 #ifndef WIDGET_H #define WIDGET_H #include <Q ...
- Qt网络获取本机网络信息
下面我们就讲解如何获取自己电脑的IP地址以及其他网络信息.这一节中,我们会涉及到网络模块(QtNetwork Module)中的QHostInfo ,QHostAddress ,QNetworkInt ...
- Qt-网络与通信-获取本机网络信息
在网络应用中,经常需要获取本机主机名和IP地址和硬件地址等信息.运用QHostInfo.QNetworkInterface.QNetworkAddressEntry可以获得本机的网络信息. 上运行截图 ...
- Linux中获取本机网络信息的几个函数及应用
一.读取/etc/hosts 几个函数 头文件<netdb.h> 1.void sethostent(int stayopen);//开打/etc/hosts 配置文件 2.struct ...
- Qt之获取本机网络信息(MAC, IP等等,很全)
经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...
- Qt之获取本机网络信息(超详细)
经常使用命令行来查看一些计算机的配置信息. 1.首先按住键盘上的“开始键+R键”,然后在弹出的对话框中输入“CMD”,回车 另外,还可以依次点击 开始>所有程序>附件>命令提示符 2 ...
- linux编程获取本机网络相关参数
getifaddrs()和struct ifaddrs的使用,获取本机IP 博客分类: Linux C编程 ifaddrs结构体定义如下: struct ifaddrs { struct ifad ...
- C#获取本机磁盘信息
照着书敲的.留作笔记吧. using System; using System.Collections.Generic; using System.Linq; using System.Text; u ...
随机推荐
- [CF1105E] Helping Hiaset
问题描述 你在某社交网站上面注册了一个新账号,这个账号有\(n(n\leq 10^5)\)次记录.要么就是你更改过一次ID,要么就是一个ID为\(s(|s|\leq 40)\)的朋友访问过你的空间. ...
- python 3 与python 2连接mongoDB的区别
本文出自:https://www.cnblogs.com/2186009311CFF/p/11852010.html 好久前机缘巧合见识过量化投资,然而堵在了用python连接MongoDB数据库上, ...
- java设置Cookie
public static void setCookie(HttpServletResponse response, String key, String value){ Cookie cookie ...
- socket 异步 发送 接收 数据
Socket socketClints = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); / ...
- unittest详解(七) 自动生成测试报告
用例执行完成后,执行结果默认是输出在屏幕上,其实我们可以把结果输出到一个文件中,形成测试报告. unittest自带的测试报告是文本形式的,如下代码: import unittest if __nam ...
- php的if函数
条件语句用于基于不同条件执行不同的动作 PHP 条件语句 在您编写代码时,经常会希望为不同的决定执行不同的动作.您可以在代码中使用条件语句来实现这一点. 在 PHP 中,我们可以使用以下条件语句: i ...
- 利用angular4和nodejs-express构建一个简单的网站(五)—用户的注册和登录-HttpClient
上一节简单介绍了一下利用angular构建的主路由模块,根据上一节的介绍,主页面加载时直接跳转到用户管理界面,下面就来介绍一下用户管理模块.启动应用后,初始界面应该是这样的: 用户管理模块(users ...
- C语言中的!!
C语言中!!的作用是?看例子: #include <stdio.h> int main() { ; printf("test=%d !test=%d !!test=%d\n&qu ...
- 【CentOS】yum安装教训
前言:本来想安装sl在新安装的centos7上,网上搜了教程,很多都是先要你yum -y update,如下: 1.更新yum源: yum -y update 2.依赖安装: wget http:// ...
- 谈谈DevOps和TestOps个人见解
首先是百度百科和维基百科的解释对DevOps的说明: https://baike.baidu.com/item/devops DevOps是开发运维,而TestOps则测试运维.DevOps(Deve ...