【QT】手把手制作一个QT网络调试助手(准备阶段)

2023-05-16

目录

1. 新建一个工程 

​2. mainwindow.ui设计

2.1 对窗口主体进行栅格化布局

​2.2 添加网络通信配置GroupBox

2.2.1 填充内容

2.2.2 栅格布局GroupBox

2.3 总结

3. Pro程序配置

4. 头文件相关配置

5. 对控件设置事件


1. 新建一个工程 

打开QT Creator4.11.1

新建一个工程名NetTools 

2. mainwindow.ui设计

2.1 对窗口主体进行栅格化布局

2.2 添加网络通信配置GroupBox

2.2.1 填充内容

2.2.1.1 网络通信配置

首先添加GroupBox——网络通信配置——gpbNetConfig,

然后添加Grid Layout;

最后添加功能模块,最终效果如下:

 

 

 2.2.1.2 接收控制

首先在gpbRxCtrl的GroupBox添加Vertical Layout

然后添加组件。

最后对接收控制GroupBox进行栅格布局处理

 首先对UDP控件进行设计:

 2.2.1.2 发送控制

首先在gpbTxCtrl的GroupBox添加添加组件。

栅格化布局处理后。

2.2.2 栅格布局GroupBox

2.3 总结

绘制布局的滋步骤:

 添加完组件后进行栅格化处理会使界面的排版布局更加美观!

添加弹簧,会让控件更加紧凑;同时添加发送和接收文本框; 

最终界面效果:

3. Pro程序配置

后缀为“.pro”是项目管理文件,其文件名称就是项目工程的名字。

在第一行就能看到

如果用到数据库就要添加

Qt += sql

本次需要用到网络模块

既可以改成

QT       += core gui network

或者

QT       += core gui
#标记网络
QT       += network

同时我们建立四个个文件夹方便存放头文件和源文件等。

 

我们将响应的文件拷贝对应文件夹后就要在.pro文件中更新其路径。

 如果想添加一个图标,就要准备一个.ioc的图片存放在res文件夹内;并在.pro文件中添加如下代码:

RC_ICONS = ./res/general/sharingan.ico

为了在源文件中找不到刚刚添加的头文件,应当需要在.pro文件中添加头文件包含路径:

# 头文件包含路径
INCLUDEPATH += ./inc

4. 头文件相关配置

首先包含下述头文件,并解释其头文件的作用:

#include <QtNetwork>

  • 包含QTcpSocket, QTcpServer和QUdpSocket

#include <QHostAddress>

  • QHostAddress类提供了一个IP地址信息。这个类可以提供与平台无关的,支持IPv4和IPv6的IP地址信息。
  • QHostAddress通常都与QTcpSocket, QTcpServer和QUdpSocket一起配合使用,它可以用来辅助连接一个主机,或者辅助启动一个服务器。

#include <QMetaEnum>

  • QMetaEnum 类提供了一个枚举的元数据。我们可以使用该类的静态模板函数,fromType<enumerator>来获得关于某个枚举的QMetaEnum对象,然后就可以调用该类的成员函数来获得该枚举的相关信息。该枚举必须使用Q_ENUM宏进行声明。

#include <QComboBox>

  • Qt提供的QComboBox复选框只能选择其中一个选项,无法实现同时选中多个。

首先在public中申明一个网络类型的枚举

    enum NetworkType{
        TCPServer  = 0,
        TCPClient  = 1,
        UDP        = 2,
    };
    Q_ENUM(NetworkType)

QHostAddress类提供一个IP地址。 这个类提供一种独立于平台和协议的方式来保存IPv4和IPv6地址。

    QList<QHostAddress> ipAddress;

同时声明一个数组存放数据,声明两个变量存放接收和发送数据个数;

    QByteArray rxBuf;
    quint32 rxCnt = 0;
    quint32 txCnt = 0;

5. 对控件设置事件

首先对链接按钮进行事件设置:

点击确定后,槽函数头文件会自动声明该函数:

private slots:  
    void on_btnLink_clicked(bool checked);

我们在cpp文件中对事件进行编辑,我们首先先实现UDP的功能,之后再介绍TCP的功能。

6. 给按钮添加图标

在res-general添加图片

6.1 创建项目并添加资源文件

本项目是基于基类QMainWindow,因此窗口有菜单和工具栏,我们就是在上面添加图标。

在项目文件中我们需要创建一个资源文件夹用来存放图标,

 然后点击 chooese ;指定该资源文件的位置,并将所创建的资源文件名命名为images.qrc

点击Add Prefix

前缀命名为/general

点击Add Files

全选图片

选择要添加图片的按钮; 

选择文件是不行的,不然运行找不到图标;要选择资源!!!!!!!!!!!!!!!

 

调整图标的大小;

 

  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【QT】手把手制作一个QT网络调试助手(准备阶段) 的相关文章

  • 【智能家居篇】wifi驱动的理解(4)——usb接口在wifi模块中的角色

    转载请注明出处 xff1a http blog csdn net Righthek 谢谢 xff01 还有1天就到2017年了 xff0c 回顾整个2016年至此 xff0c 都没发表过一篇技术文章 做软件开发已有5 6年 xff0c 作为
  • mx51 TVOUT分析

    1397 static int init enable tve setup char options 1398 1399 g enable tve 61 true 1400 1401 return 1 1402 1403 setup 34
  • 2D图形加速引擎(GE2D)

    转载请注明出处 xff1a http blog csdn net Righthek 谢谢 xff01 英文原文 NUC970 Series Technical Reference Manual Chapter 5 28 一 概述 32位2D
  • Redis 安装

    安装 下载 解压 编译Redis wget http download redis io releases redis 6 0 6 tar gz tar xzf redis 6 0 6 tar gz cd redis 6 0 6 make
  • linux下 tcpdump实现原理

    linux下抓包实现原理 一 tcpdump 对于本机中进程的系统行为调用跟踪 xff0c strace是一个很好的工具 xff0c 而在网络问题的调试中 xff0c tcpdump应该说是一个必不可少的工具 xff0c 和大部分linux
  • eigen求特征值和特征向量

    Eigen Matrix2d matrix 22 matrix 22 lt lt 2 3 2 1 cout lt lt 34 matrix 61 n 34 lt lt matrix 22 lt lt endl Eigen SelfAdjoi
  • sophus库的一些使用

    首先是cmakelists cmake minimum required VERSION 2 8 project useSophus 为使用 sophus xff0c 您需要使用find package命令找到它 find package
  • OpenCV中ORB特征点检测和匹配简单用法

    cmakelists span class hljs keyword cmake minimum required span VERSION span class hljs number 3 7 span span class hljs k
  • LKflow

    cmakelists span class hljs keyword cmake minimum required span VERSION span class hljs number 3 7 span span class hljs k
  • 关于关于高博3d2d程序报错的改动

    想直接改动 xff0c 在 还是g2o初始化一些 那篇 xff0c 这篇比较啰嗦 xff0c 主要是记录自己思考的步骤 首先说明主题 xff1a 没文化真可怕 好了 xff0c 说干货 之前高博的代码 只要涉及g2o的部分 xff0c 一律
  • C++类内成员初始化

    所有标准为C11标准 xff0c 旧的就不看了 首先说一条指导规则 xff1a 通常情况下 xff0c 不应该在类内部初始化成员 xff01 xff01 无论是否为静态 是否为常量 是否为int等 xff01 xff01 统统不建议在类内初
  • RANSAC算法理解

    最早应该是十四讲上见过 xff0c 在第九章的project中src中的visual odometry cpp中 xff0c 最核心的求解3d 2d的变换中 xff1a span class hljs label 整个核心就是用这个cv s
  • 装双系统的一些记录

    小米电脑F2进入BIOS设置 xff0c F12选取启动项 启动U盘制作 ROS安装
  • ROS使用注意事项

    看到一篇总结 xff0c 感觉很有用 摘抄下来 转自 xff1a https www cnblogs com pk28 p 7625838 html
  • Python time模块 时间戳转换

    时间戳转换 时间戳获取 import time time time 时间戳转时间字符串 时间戳 gt 时间数组 gt 格式化时间字符串 时间字符串转时间戳 格式时间字符串 gt 时间数组 gt 时间数组 时间戳转换时间字符串 time st
  • 图漾深度摄像头基本使用方法

    搞到一款图漾的3d相机 xff08 型号为FM810 C xff09 有好久了 xff0c 一直也只是编译了sample代码跑起来看看样子 xff0c 并没有着手看SDK以及开发的事 近几日对照SDK以及其中的SimpleView Fetc
  • Xilinx FPGA的约束设计和时序分析总结 (转)

    在进行FPGA的设计时 xff0c 经常会需要在综合 实现的阶段添加约束 xff0c 以便能够控制综合 实现过程 xff0c 使设计满足我们需要的运行速度 引脚位置等要求 通常的做法是设计编写约束文件并导入到综合实现工具 xff0c 在进行
  • STM32学习笔记-串口

    所用的STM32主要有3个串口 xff0c 3个串口的物理位置如图中所示 串口的驱动编写流程 待续
  • 工业以太网EtherCat学习

    一 简单介绍 EtherCAT是由德国Beckhoff公司提出的实时以太网解决方案 xff0c 它是国际现场总线标准的组成部分 在现场总线级的高速I O控制和高速运动控制方面有突出的表现 EtherCAT使用标准的以太网卡作为主站 xff0
  • AVstream驱动学习

    Step 1 Learn about Windows architecture and drivers AVStream AVStream is a Microsoft provided multimedia class driver th

随机推荐

  • 制作一个舵机云台【内附资料下载链接】

    1 运动功能说明 舵机云台下方的舵机可以提供一个左右摆动的动作 xff0c 同时上方横置的关节模组可以提供一个上下摆动的动作 在这两部分的配合下 xff0c 云台的执行端端 xff08 即 xff1a 关节模组的U型支架 xff09 可以灵
  • UART控制器LIN功能模式(NUC029LAN阅读笔记)

    UART控制器LIN功能模式 xff08 NUC029LAN阅读笔记 xff09 LIN总线帧格式字节域格式 xff08 LIN标准 xff09 帧头 xff08 Header xff09 同步间隔域 xff08 Break Field x
  • 关于新唐NUC029LAN库函数操作无法打开定时器2和定时器3的问题(库函数中的bug)

    结论 xff1a 问题 xff1a 使用NUC029LAN库函数中的设备时钟使能函数时 xff0c 无法正常打开定时器TMR2和TMR3 原因 xff1a clk h中 xff0c 定时器2模块 xff08 TMR2 MODULE xff0
  • STC12系列单片机的1T模式和12T模式

    STC12系列单片机的1T模式和12T模式 总结STC12系列单片机的1T模式和12T模式基本原理以定时器为例 总结 1T 模式 不分频 1个系统基本时钟 xff0c 执行一个动作 xff1b 12T模式 12分频 12个系统基本时钟 xf
  • 函数指针及其定义和用法,C语言函数指针详解

    声明 xff1a 转载 函数指针及其定义和用法 xff0c C语言函数指针详解 版权归原作者所有 xff0c 若有侵权请联系删除 函数指针及其定义和用法 xff0c C语言函数指针详解 函数指针大家了解一下就行了 xff0c 用得不多 xf
  • Python md5、sha256、sha1、加密方法

    需要使用 hashlib 这个库 xff0c python 自带的 xff0c 可以直接用 要加密的数据需要先使用 encode 进行编码 import hashlib data 61 34 你好 34 要进行加密的数据 data sha
  • 通信方式、通信接口、通信总线、通信协议的关系

    通信方式通信接口通信总线通信协议接口 总线 协议之间的关系 通信方式 通信方式是指通信双方之间的工作方式或信号传输方式 终端与其他设备 xff08 例如其他终端 计算机和外部设备 xff09 通过数据传输进行通信 xff0c 根据数据的传输
  • 通信方式的分类(串行通信和并行通信)

    通信方式的分类串行通信和并行通信串行通信同步通信和异步通信单工 半双工和双工 并行通信 通信方式的分类 通信方式是指通信双方之间的工作方式或信号传输方式 终端与其他设备 xff08 例如其他终端 计算机和外部设备 xff09 通过数据传输进
  • 为什么需要使用栈结构?

    在以往学习高级语言时 xff0c 提到栈 xff0c 下意识都会反映上来FILO xff0c 它是暂存数据的一种数据结构 xff0c 但是为什么会用到栈 xff1f 却一直讳莫如深 xff0c 这是高级语言不会涉及到的底层的实现 xff0c
  • C语言中define的用法

    define顾名思义 xff0c 就是下定义 xff0c 那么在C中它也发挥着下定义的作用 1 提前定义变量 include lt stdio h gt define N 100 int main int a 61 10 printf 34
  • C++编译时出现未定义的引用问题解决

    未定义的引用 xff08 undefined reference xff09 出现的原因是生成可执行文件所在的cpp包含头文件时 xff0c 头文件中声明的函数定义未被可执行文件所识别 xff0c 解决办法如下 xff1a add libr
  • 【仿真】手把手学会基于Simulink下的模糊控制系统(上)

    目录 前言 xff1a 什么是模糊控制 1 模糊控制器MATLAB教程 xff08 初级 xff09 1 1 模糊PD控制器 前言 xff1a 什么是模糊控制 控制专业并且写过论文的同学想必一定听说过模糊控制 xff0c 但多数人对于什么是
  • 【STM32CubeMX】STM32H7-RTOS-SPI-W5500

    工程源码下载 xff1a 基于裸机和Freertos的W5500网络通信工程 目录 1 移植W5500步骤 2 Cobemx配置步骤 2 1 时钟配置Clock Configuration 2 2 Trace and Debug配置 2 3
  • 【PADS】PADS覆铜技巧

    目录 重要快捷键 基础设置 层设置 电源层分割处理 给自己喜欢的网络上个颜色 TOP层覆铜 验证设计是否有问题 PADS开窗 PADS为分割层模拟数字地覆网格铜 PADS 快捷键 Ctrl 43 鼠标滚轮失灵 Ctrl 43 鼠标滚轮造成P
  • 【Cadence16.6】安装教程

    初识安装包文件 我们cadence16 6的安装包是这样的 xff0c 详细请去https www fanyedu com index mulitcourse video html id 61 1008 1008观看 首先我们打开这个文件夹
  • 【硬件】芯片温度/功耗计算

    本博客参考 xff1a 一纸沙漏的博客 芯片的四个温度 内核温度 封装表面温度 空气周边温度以及PCB板温度 TJ xff08 Die Junction Temp xff09 芯片的硅核温度 xff0c 就是芯片内部核心的温度 xff0c
  • Python unicode 字符串 转 list

    unicode 字符串 转 list unicodeList 61 u 39 100 100 100 100 100 100 39 1 方法一 list 61 eval unicodeList 2 方法二 int value for val
  • 【硬件】AD623单电源供电差分放大

    1 前言 检测电机电流运用检流电阻的方法在往期已经介绍过 详情请见 xff1a 检流电阻计算电流 2 需求分析 2 1 电机流过电流 已知电机的峰值堵转电流为4 6A xff0c 连续堵转电流为3 2A xff0c 以上信息可以得知需要采样
  • 【电路】PT1000/PT100温度采集电路

    目录 原理图下载链接 xff1a https download csdn net download Roger 717 33823983https download csdn net download Roger 717 33823983h
  • 【QT】手把手制作一个QT网络调试助手(准备阶段)

    目录 1 新建一个工程 2 mainwindow ui设计 2 1 对窗口主体进行栅格化布局 2 2 添加网络通信配置GroupBox 2 2 1 填充内容 2 2 2 栅格布局GroupBox 2 3 总结 3 Pro程序配置 4 头文件