当前位置: 首页 > news >正文

Qt——实现一个获取本机网络信息的界面

效果展现

在这里插入图片描述
在这里插入图片描述

代码实现

networkinformation.h

#ifndef NETWORKINFORMATION_H
#define NETWORKINFORMATION_H#include <QMainWindow>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>class NetworkInformation : public QMainWindow
{Q_OBJECTpublic:NetworkInformation(QWidget *parent = nullptr);~NetworkInformation();void getHostInfo();public slots:void slotDetail();private:QLabel * hostNameLabel;QLineEdit * hostNameLineEdit;QLabel * ipLabel;QLineEdit * ipLineEdit;QPushButton * detailBtn;};
#endif // NETWORKINFORMATION_H

networkinformation.cpp

#include "networkinformation.h"
#include <QGridLayout>
#include <QHostInfo>
#include <QNetworkInterface>
#include <QMessageBox>
#include <QDebug>NetworkInformation::NetworkInformation(QWidget *parent): QMainWindow(parent){QWidget * widget = new QWidget();this->setCentralWidget(widget);hostNameLabel = new QLabel(tr("主机名:"));hostNameLineEdit = new QLineEdit;ipLabel = new QLabel(tr("IP地址:"));ipLineEdit = new QLineEdit;detailBtn = new QPushButton(tr("详细"));QGridLayout * mainLayout = new QGridLayout;mainLayout->addWidget(hostNameLabel,0,0);mainLayout->addWidget(hostNameLineEdit,0,1);mainLayout->addWidget(ipLabel,1,0);mainLayout->addWidget(ipLineEdit,1,1);mainLayout->addWidget(detailBtn,2,0,1,2);widget->setLayout(mainLayout);//获取主机信息getHostInfo();//点击详细按钮 显示详细的 网络信息connect(detailBtn,SIGNAL(clicked()),this,SLOT(slotDetail()));}void NetworkInformation::getHostInfo(){//主机名QString hostName = QHostInfo::localHostName();hostNameLineEdit->setText(hostName);//ip地址QHostInfo hostInfo = QHostInfo::fromName(hostName);QList<QHostAddress> list = hostInfo.addresses();qDebug()<<"size = "<<list.count()<<endl;for(int i = 0;i < list.count();i++){qDebug()<<list.at(i).toString()<<endl;}if(list.count() >= 3){ipLineEdit->setText(list.at(3).toString());}}void NetworkInformation::slotDetail(){QString detail = "";QList<QNetworkInterface> list = QNetworkInterface::allInterfaces();for(int i = 0;i < list.count();i++){QNetworkInterface interface = list.at(i);detail += tr("设备:") + interface.name() + "\n";detail += tr("硬件地址:") + interface.hardwareAddress() + "\n";QList<QNetworkAddressEntry> entryList = interface.addressEntries();for(int j = 0;j < entryList.count();j++){QNetworkAddressEntry entry = entryList.at(j);detail += "\t" + tr("IP地址:") + entry.ip().toString() + "\n";detail += "\t" + tr("子网掩码:") + entry.netmask().toString() + "\n";detail += "\t" + tr("广播地址:") + entry.broadcast().toString() + "\n";}}qDebug()<<detail<<endl;QMessageBox::information(this,tr("Detail"),detail);}NetworkInformation::~NetworkInformation()
{
}

main.cpp

#include "networkinformation.h"#include <QApplication>int main(int argc, char *argv[])
{QApplication a(argc, argv);NetworkInformation w;w.show();return a.exec();
}

相关文章:

Qt——实现一个获取本机网络信息的界面

效果展现 代码实现 networkinformation.h&#xff1a; #ifndef NETWORKINFORMATION_H #define NETWORKINFORMATION_H#include <QMainWindow> #include <QLabel> #include <QLineEdit> #include <QPushButton>class NetworkInformation : public QMai…...

全面深入了解接口自动化,看完还不会我报地址

一、自动化分类 &#xff08;1&#xff09;接口自动化 python/javarequestsunittest框架来实现 python/javaRF&#xff08;RobotFramework&#xff09;框架来实现——对于编程要求不高 &#xff08;2&#xff09;Web UI功能自动化 python/javaseleniumunittestddtPO框架来实…...

Python 小型项目大全 61~65

六十一、ROT13 密码 原文&#xff1a;http://inventwithpython.com/bigbookpython/project61.html ROT13 密码是最简单的加密算法之一&#xff0c;代表“旋转 13 个空格”密码将字母A到Z表示为数字 0 到 25&#xff0c;加密后的字母距离明文字母 13 个空格&#xff1a; A变成N&…...

Hlog

Hlog 简介 Hlog是Hbase实现WAL(Write ahead log )方式产生的日志信息 &#xff0c; 内部是一个简单的顺序日志。每个RegionServer对应1个Hlog(备注&#xff1a;1.X版本的可以开启MultiWAL功能&#xff0c;允许对应多个Hlog),所有对于该RegionServer的写入都会被记录到Hlog中。H…...

学编程应该选择什么操作系统?

今天来聊一个老生常谈的问题&#xff0c;学编程时到底选择什么操作系统&#xff1f;Mac、Windows&#xff0c;还是别的什么。。 作为一个每种操作系统都用过很多年的程序员&#xff0c;我会结合我自己的经历来给大家一些参考和建议。 接下来先分别聊聊每种操作系统的优点和不…...

Oracle基础部分二(伪列/表、单个函数、空值处理、行列转换、分析函数、集合运算)

Oracle基础部分二&#xff08;伪列/表、单个函数、空值处理、行列转换、分析函数、集合运算&#xff09;1 伪列、伪表1.1 伪列1.2 伪表2 单个函数2.1 常用字符串函数2.1.1 length() 询指定字符的长度2.1.2 substr() 用于截取字符串2.1.3 concat() 用于字符串拼接2.2 常用数值函…...

c/c++:原码,反码,补码和常见的数据类型取值范围,溢出

c/c&#xff1a;原码&#xff0c;反码&#xff0c;补码和常见的数据类型取值范围&#xff0c;溢出 2022找工作是学历、能力和运气的超强结合体&#xff0c;遇到寒冬&#xff0c;大厂不招人&#xff0c;此时学会c的话&#xff0c; 我所知道的周边的会c的同学&#xff0c;可手握…...

Java题目训练——年终奖和迷宫问题

目录 一、年终奖 二、迷宫问题 一、年终奖 题目描述&#xff1a; 小东所在公司要发年终奖&#xff0c;而小东恰好获得了最高福利&#xff0c;他要在公司年会上参与一个抽奖游戏&#xff0c;游戏在一个6*6的棋盘上进行&#xff0c;上面放着36个价值不等的礼物&#xff0c; 每…...

ORACLE EBS系统应用基础概述(1)

一、前言 有网友在论坛发帖惊呼&#xff1a;好不容易把EBS系统安装好了&#xff0c;进去一看傻眼了&#xff0c;不知道从哪儿下手&#xff1f;发出惊叹的这位网友所遇到的问题&#xff0c;实际上也是很多人曾经遇到或正在遇到的问题。长期以来&#xff0c;国内的非专业人士&am…...

电子科技大学信息与通信工程学院2023考研复试总结

一、笔试 笔试主要考察数字逻辑&#xff08;数电&#xff09;的相关知识&#xff0c;满分200分&#xff0c;需要复习的内容不多且知识点比较集中。根据考场上实际感受&#xff0c;题目难度不大但是题量稍大&#xff0c;2h完成试卷几乎没有多少剩余时间。笔试的体型分为填空题、…...

神经网络激活函数

神经网络激活函数神经网络激活函数的定义为什么神经网络要用激活函数神经网络激活函数的求导Sigmoid激活函数Tanh激活函数Softmax激活函数神经网络激活函数的定义 所谓激活函数&#xff08;Activation Function&#xff09;&#xff0c;就是在人工神经网络的神经元上运行的函数…...

2.C 语言基本语法

文章目录二、C 语言基本语法1.语句2.表达式3.语句块4.空格5.注释6.printf()函数基本用法7.占位符8.输出格式10.标准库&#xff0c;头文件提示&#xff1a;以下是本篇文章正文内容&#xff0c;下面案例可供参考 二、C 语言基本语法 1.语句 C语言的代码由一行行语句&#xff0…...

Qt 6.5 LTS 正式发布

Qt 6.5 LTS 已正式发布。此版本为图形和 UI 开发者以及应用程序后端引入了许多新功能&#xff0c;还包含许多修复和通用的改进。Qt 6.5 将成为商业许可证持有者的长期支持 (LTS) 版本。 部分更新亮点&#xff1a; 改进主题和样式 使用 Qt 6.5&#xff0c;应用程序能够便捷地支持…...

Linux权限提升—定时任务、环境变量、权限配置不当、数据库等提权

Linux权限提升—定时任务、环境变量、权限配置不当、数据库等提权1. 前言1.1. 如何找编译好的EXP2. 定时任务提权2.1. 查看定时任务2.2. 通配符注入提权2.2.1. 创建执行脚本2.2.2. 创建定时任务2.2.3. 查看效果2.2.4. 提权操作2.2.4.1. 切换普通用户2.2.4.2. 执行命令2.2.4.3. …...

Python爬虫——使用requests和beautifulsoup4库来爬取指定网页的信息

以下是一个简单的Python代码&#xff0c;使用requests和beautifulsoup4库来爬取指定网页的信息&#xff1a; import requests from bs4 import BeautifulSoupurl "https://example.com"# 发送GET请求&#xff0c;获取网页内容 response requests.get(url)# 将网页内…...

基于Java3D的网络三维技术的设计与实现

3D图形技术并不是一个新话题&#xff0c;在图形工作站以至于PC机上早已日臻成熟&#xff0c;并已应用到各个领域。然而互联网的出现&#xff0c;却使3D图形技术发生了和正在发生着微妙而深刻的变化。Web3D协会&#xff08;前身是VRML协会&#xff09;最先使用Web3D术语&#xf…...

python机器学习数据建模与分析——数据预测与预测建模

文章目录前言一、预测建模1.1 预测建模涉及的方面&#xff1a;1.2 预测建模的几何理解1.3 预测模型参数估计的基本策略1.4 有监督学习算法与损失函数&#xff1a;1.5 参数解空间和搜索策略1.6 预测模型的评价1.6.1 模型误差的评价指标1.6.2 模型的图形化评价工具1.6.3 训练误差…...

Flink系列-6、Flink DataSet的Transformation

版权声明&#xff1a;本文为博主原创文章&#xff0c;遵循 CC 4.0 BY-SA 版权协议&#xff0c;转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址&#xff1a;https://flink.apache.org/ 学习资料&#xff1a;https://flink-learning.org.cn/ 目录Flink 算子Ma…...

Java-类的知识进阶

Java类的知识进阶 类的继承&#xff08;扩张类&#xff09; Java类的继承是指一个类可以继承另一个类的属性和方法&#xff0c;从而使得子类可以重用父类的代码。继承是面向对象编程中的重要概念&#xff0c;它可以帮助我们避免重复编写代码&#xff0c;提高代码的复用性和可…...

C# | 上位机开发新手指南(六)摘要算法

C# | 上位机开发新手指南&#xff08;六&#xff09;摘要算法 文章目录C# | 上位机开发新手指南&#xff08;六&#xff09;摘要算法前言常见摘要算法源码MD5算法SHA-1算法SHA-256算法SHA-512算法BLAKE2算法RIPEMD算法Whirlpool算法前言 你知道摘要算法么&#xff1f;它在保障…...

XCTF-web-easyupload

试了试php&#xff0c;php7&#xff0c;pht&#xff0c;phtml等&#xff0c;都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接&#xff0c;得到flag...

Linux链表操作全解析

Linux C语言链表深度解析与实战技巧 一、链表基础概念与内核链表优势1.1 为什么使用链表&#xff1f;1.2 Linux 内核链表与用户态链表的区别 二、内核链表结构与宏解析常用宏/函数 三、内核链表的优点四、用户态链表示例五、双向循环链表在内核中的实现优势5.1 插入效率5.2 安全…...

Linux相关概念和易错知识点(42)(TCP的连接管理、可靠性、面临复杂网络的处理)

目录 1.TCP的连接管理机制&#xff08;1&#xff09;三次握手①握手过程②对握手过程的理解 &#xff08;2&#xff09;四次挥手&#xff08;3&#xff09;握手和挥手的触发&#xff08;4&#xff09;状态切换①挥手过程中状态的切换②握手过程中状态的切换 2.TCP的可靠性&…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

全球首个30米分辨率湿地数据集(2000—2022)

数据简介 今天我们分享的数据是全球30米分辨率湿地数据集&#xff0c;包含8种湿地亚类&#xff0c;该数据以0.5X0.5的瓦片存储&#xff0c;我们整理了所有属于中国的瓦片名称与其对应省份&#xff0c;方便大家研究使用。 该数据集作为全球首个30米分辨率、覆盖2000–2022年时间…...

测试markdown--肇兴

day1&#xff1a; 1、去程&#xff1a;7:04 --11:32高铁 高铁右转上售票大厅2楼&#xff0c;穿过候车厅下一楼&#xff0c;上大巴车 &#xffe5;10/人 **2、到达&#xff1a;**12点多到达寨子&#xff0c;买门票&#xff0c;美团/抖音&#xff1a;&#xffe5;78人 3、中饭&a…...

[10-3]软件I2C读写MPU6050 江协科技学习笔记(16个知识点)

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...

CocosCreator 之 JavaScript/TypeScript和Java的相互交互

引擎版本&#xff1a; 3.8.1 语言&#xff1a; JavaScript/TypeScript、C、Java 环境&#xff1a;Window 参考&#xff1a;Java原生反射机制 您好&#xff0c;我是鹤九日&#xff01; 回顾 在上篇文章中&#xff1a;CocosCreator Android项目接入UnityAds 广告SDK。 我们简单讲…...

基于Docker Compose部署Java微服务项目

一. 创建根项目 根项目&#xff08;父项目&#xff09;主要用于依赖管理 一些需要注意的点&#xff1a; 打包方式需要为 pom<modules>里需要注册子模块不要引入maven的打包插件&#xff0c;否则打包时会出问题 <?xml version"1.0" encoding"UTF-8…...