学习C++、QT---34(使用QT库实现串口调试助手01:解决串口调试助手的UI)

🌟 嗨,我是热爱嵌入式的涛涛同学!

每日一言

        别害怕改变,走出舒适圈才能遇见更好的自己。

串口调试助手项目

好的现在我们来学习串口调试助手的项目,我们依旧是项目引领学习

好的我们最后就是要做成一个类似我们市面上的串口调试助手,我这边拿安信可的来对比一下

是不是很像,所以说我们要好好的学习一下,左边是我们自己做的,右边的是安信可官方的串口助手

项目的UI

首先呢我们先解决UI的问题

首先呢我们照猫画虎,我们会发现这样的框框上面还有字的,这个效果是怎么做出来的,那么这个呢就是用到了

Group Box 这个控件,其实这个空间的除了可以实现上方的这个效果之外,最主要的功能其实是分组,Group Box 可以将相关的控件(如按钮、文本框、复选框等)组织在一起,通过一个边框和标题来区分不同的功能区域。这有助于用户更清晰地理解界面结构, 让界面看起来更有条理,提高界面的可读性和易用性。

好的那么我们接下去

我们在里面放上一个textEdit,这个就是我们串口助手的白色框部分,大家也很容易理解的吧,然后有一个操作,我们现在不是文本框

没有像这样那么的和我们的控件等比例铺满嘛,看起来不是很协和,那么此时我要介绍一个布局,栅格布局这个可以有奇效

怎么个奇效

我们点击这个group box进行栅格布局,会发生这样的奇效

为什么?

因为:

1. 布局行为

  • 自动排列:栅格布局会将GroupBox视为一个普通的控件,并根据栅格的行列规则自动调整其位置和大小。
  • 响应窗口大小变化:当窗口大小改变时,栅格布局会自动调整GroupBox的大小和位置,以保持布局的整齐和美观。

2. 空间分配

  • 均匀分配:栅格布局会根据窗口的大小和其他控件的分布,均匀地分配空间给每个控件(包括GroupBox)。

现在我们来完成这个,根本就不难,我们主要是认识一下没有用过的控件

就是这个两个控件,一个是单选框check box,还有一个这个是比较长的这种的文字输入框叫做Line Edit

然后我们将它们组装起来,也就是用水平布局啦,那个第三个是按钮,讲ui真的太多时间了,但是真的很简单

然后我们用这个ctrl加上鼠标拖我们已经有的组合好的组件这边代表

就可以实现复制了,

随后我们会发现那么多很乱怎么办,怎么对齐,那么我们就选择全部进行垂直布局,马上就焕然一新了

再介绍一下这个中间的这个控件

这个控件叫做Spin Box

好的那么现在我们,已经将我们这个串口助手所需要新学的UI控件学完了之后我们开始根据我这张已经做好的图进行复现

复现完之后是这样的

我这边进行了框框,我是想表达他们他们各为一组,所以我每一组也用了栅格布局,非强制的只是省了很多排版美观点事。

目的是和这个一样的分组,而且每一组我都有用栅格布局,省了很多自己排版事情

,但是有些需要自己微调,好了,大概的UI那我们就做完了(如上图)

然后我再提一点,我们的名字一定要取好,到时候好认,毕竟到后面我们都是要进行在代码上面展现的,就像我这样

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/bicheng/90556.shtml
繁体地址,请注明出处:http://hk.pswp.cn/bicheng/90556.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Dockerfile 文件及指令详解

什么是Dockerfile 文件Dockerfile 文件是用于构建 docker 镜像的脚本文件,由一系列的指令构成。通过 docker build 命令构建镜像时,Dockerfile 文件中的指令会由上到下执行,每条 指令都将会构建出一个镜像层,这就是镜像的分层。因…

主流Java Redis客户端对决:Jedis、Lettuce与Redisson性能特性深度评测

💝💝💝欢迎莅临我的博客,很高兴能够在这里和您见面!希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。 持续学习,不断…

刷题日记0725

今日计划5道。2/5晚上被一些事影响了心神不宁,再加上感觉睡前做完时间有点紧,逃避的念头出现了。代码意思不进脑子了。做一道是一道。21. 合并两个有序链表默认构造​​:用于创建​​值为0的孤立节点​​(不连接其他节点&#xff…

从数据脱敏到SHAP解释:用Streamlit+XGBoost构建可复现的川崎病诊断系统

基于机器学习的川崎病辅助诊断工具,结合了数据预处理、模型训练、特征解释和交互式可视化。以下是深度解读:1. 技术架构框架:使用 Streamlit 构建 Web 应用,适合快速开发交互式数据科学应用。核心算法:XGBoost&#xf…

【C++详解】模板进阶 非类型模板参数,函数模板特化,类模板全特化、偏特化,模板分离编译

文章目录一、非类型模板参数应用场景二、模板的特化函数模板特化类模板特化全特化偏特化三、模板分离编译解决方法四、模板总结一、非类型模板参数 先前介绍的函数模板和类模板都是针对类型的类模板参数,非类型模板参数有哪些使用场景呢?我们先来看下面这…

10BASE-T1S核心机制——PLCA参数详解

导语: PLCA是10BASE-T1S的核心机制,了解PLCA才能更好地使用10BASE-T1。 本文将通过介绍具体配置,以及实战例子,带你掌握PLCA。 以下测试内容使用KUNHONG-U10BT1S-EVB设备测试, 设备符合IEEE 802.3cg标准&#xff0…

uniapp vue apk那边输入法遮挡页面内容

解决办法:pages.json配置如下{"globalStyle": {"app-plus": {"softinputMode": "adjustResize"}} }效果: 键盘弹出时自动调整窗口大小,所有内容上推(兼容性最佳)文件内容如下…

2507C++,系统服务0与1

原文 窗口上的系统调用通过,每个由系统调用(x64)或sysenter(x86)CPU指令调用的NTDLL.dll,如NTDLL的NtCreateFile的以下输出所示: 这里 0:000> u ntdll!NtCreateFile: 00007ffcc07fcb50 4c8bd1 mov r10,rcx 00007ffcc07fcb53 b855000000 mov eax,55h…

人工智能冗余:大语言模型为何有时表现不佳(以及我们能做些什么)

像 GPT - 4 这样的大语言模型(LLMs)彻底改变了我们与技术交互的方式。它们可以撰写文章、生成代码、回答问题,甚至帮助我们构思创意。但任何花时间使用过这些模型的人都知道,它们的输出有时会让人感觉……不太对劲。表述冗长、格式…

Cursor替代品亚马逊出品Kiro下载

Cursor替代品亚马逊出品Kiro下载 支持Claude Sonnet4.0与3.7 点击下载 备用链接:https://pan.xunlei.com/s/VOW-nBmVgR3ewIIAm7jDsf99A1?pwd6bqu#

MySQL 事务管理

一、前言 CURD 不加控制,会有什么问题? CURD 满足什么属性,能解决上述问题? 买票的过程得是原子的。买票应该不能受互相的影响。买完票应该要永久有效。买前和买后都要是确定的状态。 什么是事务? 事务就是一组 DML 语…

yarn在macOS上的安装与镜像源配置:全方位指南

在前端开发领域,高效的包管理工具是提升开发效率的关键。yarn 作为一款由 Facebook 推出的包管理器,凭借其快速、可靠、安全的特性,逐渐成为众多开发者的首选。对于 macOS 用户而言,正确安装 yarn 并合理配置镜像源,能…

Qt 插件架构开发与应用

Qt的插件架构是其模块化和可扩展性的核心机制之一,它允许开发者通过动态加载插件(Plugins)扩展应用功能,而无需重新编译主程序。这种架构广泛应用于IDE(如Qt Creator)、媒体播放器(解码器扩展&a…

打破传统局限:FinOps云成本优化助力企业云成本管理升级

在云计算日益普及的当下,企业纷纷将业务迁移到云端,以期获得更高效、灵活的IT资源管理方式。然而,云成本管理问题也随之而来,高额的云支出、资源利用不充分、成本控制难等,成为企业云管理之路上的绊脚石。此时,奇墨科技FinOps云成本优化正以其独特的优势,助力企业打破传统局限,…

HDFS写性能优化技巧详解:从理论到实践

HDFS写性能优化概述在大数据处理的生态系统中,Hadoop分布式文件系统(HDFS)作为核心存储层,其写性能直接影响着整个数据处理管道的效率。随着数据规模的指数级增长,企业对HDFS写入吞吐量和延迟的要求日益严苛&#xff0…

基于AutoJawSegment项目的CBCT图像分割实践指南

基于AutoJawSegment项目的CBCT图像分割实践指南 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家,觉得好请收藏。点击跳转到网站。 1. 项目背景与概述 1.1 CBCT在口腔医学中的应用 锥形束计算机断层扫描(Cone Beam Computed Tomograph…

docker部署的ragflow服务迁移 数据卷迁移

[docker ragflow数据迁移]目录背景一、我的配置文件✅ 数据存储路径一览(基于你的配置文件)关于这些 volumes 的说明📁 如何查看这些卷在本地的具体位置?可能用到的docker 命令如下。📦 总结建议🛠️ 如果想…

Chrome插件学习笔记(三)

Chrome插件学习笔记(三) 参考文章: https://blog.csdn.net/guoqiankunmiss/article/details/135847091https://blog.csdn.net/guoqiankunmiss/article/details/135974364 1、项目搭建 在前两篇文章中使用的原生js去操作dom,很费劲…

Android系统中的4KB内存页简介

deepseek回答: Android系统中的4KB内存页是虚拟内存管理的最小单位,其主要用途如下: 一、核心功能 虚拟地址映射 应用程序访问内存时,系统将虚拟地址按4KB页框映射到物理内存或磁盘空间,实现进程间的内存隔离和安全访…

【Chrome】下载chromedriver的地址

下载chromedriver的地址低版本的最新版本的低版本的 http://chromedriver.storage.googleapis.com/index.html 最新版本的 https://googlechromelabs.github.io/chrome-for-testing/#stable