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: #ifndef NETWORKINFORMATION_H #define NETWORKINFORMATION_H#include <QMainWindow> #include <QLabel> #include <QLineEdit> #include <QPushButton>class NetworkInformation : public QMai…...
全面深入了解接口自动化,看完还不会我报地址
一、自动化分类 (1)接口自动化 python/javarequestsunittest框架来实现 python/javaRF(RobotFramework)框架来实现——对于编程要求不高 (2)Web UI功能自动化 python/javaseleniumunittestddtPO框架来实…...
Python 小型项目大全 61~65
六十一、ROT13 密码 原文:http://inventwithpython.com/bigbookpython/project61.html ROT13 密码是最简单的加密算法之一,代表“旋转 13 个空格”密码将字母A到Z表示为数字 0 到 25,加密后的字母距离明文字母 13 个空格: A变成N&…...
Hlog
Hlog 简介 Hlog是Hbase实现WAL(Write ahead log )方式产生的日志信息 , 内部是一个简单的顺序日志。每个RegionServer对应1个Hlog(备注:1.X版本的可以开启MultiWAL功能,允许对应多个Hlog),所有对于该RegionServer的写入都会被记录到Hlog中。H…...
学编程应该选择什么操作系统?
今天来聊一个老生常谈的问题,学编程时到底选择什么操作系统?Mac、Windows,还是别的什么。。 作为一个每种操作系统都用过很多年的程序员,我会结合我自己的经历来给大家一些参考和建议。 接下来先分别聊聊每种操作系统的优点和不…...
Oracle基础部分二(伪列/表、单个函数、空值处理、行列转换、分析函数、集合运算)
Oracle基础部分二(伪列/表、单个函数、空值处理、行列转换、分析函数、集合运算)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:原码,反码,补码和常见的数据类型取值范围,溢出 2022找工作是学历、能力和运气的超强结合体,遇到寒冬,大厂不招人,此时学会c的话, 我所知道的周边的会c的同学,可手握…...
Java题目训练——年终奖和迷宫问题
目录 一、年终奖 二、迷宫问题 一、年终奖 题目描述: 小东所在公司要发年终奖,而小东恰好获得了最高福利,他要在公司年会上参与一个抽奖游戏,游戏在一个6*6的棋盘上进行,上面放着36个价值不等的礼物, 每…...
ORACLE EBS系统应用基础概述(1)
一、前言 有网友在论坛发帖惊呼:好不容易把EBS系统安装好了,进去一看傻眼了,不知道从哪儿下手?发出惊叹的这位网友所遇到的问题,实际上也是很多人曾经遇到或正在遇到的问题。长期以来,国内的非专业人士&am…...
电子科技大学信息与通信工程学院2023考研复试总结
一、笔试 笔试主要考察数字逻辑(数电)的相关知识,满分200分,需要复习的内容不多且知识点比较集中。根据考场上实际感受,题目难度不大但是题量稍大,2h完成试卷几乎没有多少剩余时间。笔试的体型分为填空题、…...
神经网络激活函数
神经网络激活函数神经网络激活函数的定义为什么神经网络要用激活函数神经网络激活函数的求导Sigmoid激活函数Tanh激活函数Softmax激活函数神经网络激活函数的定义 所谓激活函数(Activation Function),就是在人工神经网络的神经元上运行的函数…...
2.C 语言基本语法
文章目录二、C 语言基本语法1.语句2.表达式3.语句块4.空格5.注释6.printf()函数基本用法7.占位符8.输出格式10.标准库,头文件提示:以下是本篇文章正文内容,下面案例可供参考 二、C 语言基本语法 1.语句 C语言的代码由一行行语句࿰…...
Qt 6.5 LTS 正式发布
Qt 6.5 LTS 已正式发布。此版本为图形和 UI 开发者以及应用程序后端引入了许多新功能,还包含许多修复和通用的改进。Qt 6.5 将成为商业许可证持有者的长期支持 (LTS) 版本。 部分更新亮点: 改进主题和样式 使用 Qt 6.5,应用程序能够便捷地支持…...
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代码,使用requests和beautifulsoup4库来爬取指定网页的信息: import requests from bs4 import BeautifulSoupurl "https://example.com"# 发送GET请求,获取网页内容 response requests.get(url)# 将网页内…...
基于Java3D的网络三维技术的设计与实现
3D图形技术并不是一个新话题,在图形工作站以至于PC机上早已日臻成熟,并已应用到各个领域。然而互联网的出现,却使3D图形技术发生了和正在发生着微妙而深刻的变化。Web3D协会(前身是VRML协会)最先使用Web3D术语…...
python机器学习数据建模与分析——数据预测与预测建模
文章目录前言一、预测建模1.1 预测建模涉及的方面:1.2 预测建模的几何理解1.3 预测模型参数估计的基本策略1.4 有监督学习算法与损失函数:1.5 参数解空间和搜索策略1.6 预测模型的评价1.6.1 模型误差的评价指标1.6.2 模型的图形化评价工具1.6.3 训练误差…...
Flink系列-6、Flink DataSet的Transformation
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 大数据系列文章目录 官方网址:https://flink.apache.org/ 学习资料:https://flink-learning.org.cn/ 目录Flink 算子Ma…...
Java-类的知识进阶
Java类的知识进阶 类的继承(扩张类) Java类的继承是指一个类可以继承另一个类的属性和方法,从而使得子类可以重用父类的代码。继承是面向对象编程中的重要概念,它可以帮助我们避免重复编写代码,提高代码的复用性和可…...
C# | 上位机开发新手指南(六)摘要算法
C# | 上位机开发新手指南(六)摘要算法 文章目录C# | 上位机开发新手指南(六)摘要算法前言常见摘要算法源码MD5算法SHA-1算法SHA-256算法SHA-512算法BLAKE2算法RIPEMD算法Whirlpool算法前言 你知道摘要算法么?它在保障…...
无需本地安装,用快马平台5分钟搭建git操作可视化原型
最近在准备一个Git入门教学项目时,发现很多新手卡在环境配置这一步。传统方式需要先安装Git客户端、配置SSH密钥、设置全局参数,光是这些前置操作就能劝退不少人。于是尝试用InsCode(快马)平台的云端开发环境,意外发现能跳过所有安装步骤直接…...
Kindle Comic Converter:漫画电子书制作的专业工具
Kindle Comic Converter:漫画电子书制作的专业工具 【免费下载链接】kcc KCC (a.k.a. Kindle Comic Converter) is a comic and manga converter for ebook readers. 项目地址: https://gitcode.com/gh_mirrors/kc/kcc Kindle Comic Converter(简…...
【深度解析】用 Superpowers 改造 AI 编码代理:从“快手实习生”到“有流程的工程师”
摘要 本文从 Superpowers 开源项目出发,拆解它背后的「AI 软件开发方法论」:如何通过技能(Skills)、子代理(Sub-agents)、规则(Rules)和 Git 工作流,让 AI 编码代理不再只…...
DMA传输效率翻倍秘籍:深入解析Burst/Transfer模式在TMS320系列DSP中的配置陷阱
DMA传输效率翻倍秘籍:深入解析Burst/Transfer模式在TMS320系列DSP中的配置陷阱 实时信号处理系统的性能瓶颈往往出现在数据传输环节。当工程师面对高速ADC采集的海量数据时,DMA控制器的高效配置直接决定了系统能否实现理论上的吞吐量。本文将深入剖析TMS…...
Wan2.2-I2V-A14B惊艳案例:动态水墨山水+古风人物行走10秒视频生成
Wan2.2-I2V-A14B惊艳案例:动态水墨山水古风人物行走10秒视频生成 1. 开篇:当AI遇见传统水墨艺术 想象一下,你只需要输入一段文字描述,就能让AI生成一段10秒的动态水墨山水视频,画中还有古风人物悠然行走。这不是科幻…...
LeetCode 热题 100(每日两题)-Day2
坚持打卡第二天!昨天的哈希表大显神威,今天我们将继续探索哈希集合的妙用,并引入数组操作中极其重要的技巧——双指针(快慢指针)。一、最长连续序列LeetCode 第 128 题,难度中等。这道题的难点在于题目强制…...
智能车越野组硬件拆解:我们如何用CYT4BB7核心板与四硅麦矩阵搞定声音信标定位?
智能车越野组硬件拆解:四硅麦矩阵与CYT4BB7核心板的声学定位实战 全国大学生智能车竞赛越野组的硬件设计,本质上是一场关于精度、效率和可靠性的极限挑战。当其他队伍还在为三硅麦方案的布线发愁时,我们已经用四硅麦矩阵将声音信标定位误差控…...
STM32 TIM编码器模式实战:如何精准计算步进电机闭环控制的脉冲对应关系?
STM32 TIM编码器模式实战:步进电机闭环控制中的脉冲精确换算 步进电机在工业自动化、3D打印和精密仪器中扮演着关键角色,而闭环控制则是确保其运动精度的核心技术。许多工程师在实现闭环控制时,常常困惑于如何准确建立编码器脉冲与电机控制脉…...
如何用一套键鼠控制多台电脑?Lan Mouse跨平台键鼠共享终极指南
如何用一套键鼠控制多台电脑?Lan Mouse跨平台键鼠共享终极指南 【免费下载链接】lan-mouse mouse & keyboard sharing via LAN 项目地址: https://gitcode.com/gh_mirrors/la/lan-mouse 你是否经常需要在多台电脑之间切换工作?Windows台式机、…...
从“认怂”到“被看见”:flomo的产品设计哲学
当大多数笔记软件都在追求“大而全”时,有一款产品选择了一条完全不同的路。它不让你写标题,不支持复杂排版,甚至在官网上大大方方地列出“自己不擅长什么”。它的创始人说:“35岁再创业,我学会了认怂。”它就是flomo&…...
