- 博客(216)
- 资源 (25)
- 收藏
- 关注

原创 Qt 之 程序架构
文章目录前言一、程序的代码目录管理二、通用模块划分1.工具类2.图片资源类图片定义文字大小定义总结前言工作这么多年,各种行业的软件也写了不少,水平一般,借鉴了开源或别人的好的作品,记录下好的程序架构一、程序的代码目录管理代码目录,就是你存放源码的目录,一般程序都划分为各种模块来实现,所以为每个模块单独创建一个目录来存放,是比较推荐的存放方式。工程文件的写法 pro:include(src/common/common.pri)include(src/manager/manager.pri).
2021-05-09 20:16:58
4465
2
原创 设备间有多种通讯方式,但是接口基本类似,应该采用什么样的设计模式呢?
针对需要对接不同通信方式(如TCP、串口)但功能接口类似(如开始、停止)的场景
2025-03-06 09:41:10
401
原创 设计模式-Strategy 模式(策略)
策略模式和模版模式要解决的问题是相同(类似)的,都是为了给业务逻辑(算法)具体实现和抽象接口之间的解耦。模式将逻辑(算法)封装到一个类(Context)里面,通过组合的方式将具体算法的实现在组合对象中实现,再通过委托的方式将抽象接口的实现委托给组合对象实现。
2025-02-24 14:16:57
617
原创 设计模式-模版方法
在面向对象系统的分析与设计过程中经常会遇到这样一种情况:对于某一个业务逻辑(算法实现)在不同的对象中有不同的细节实现,但是逻辑(算法)的框架(或通用的应用算法)是相同的。Template 提供了这种情况的一个实现框架Template 模式是采用继承的方式实现这一点:将逻辑(算法)框架放在抽象基类中,并定义好细节的接口,子类中实现细节。
2025-02-24 11:36:44
815
原创 设计模式-observer模式(观察者模式)
观察者模式用于建立对象间的一对多依赖,当主题(Subject)状态变化时,所有观察者(Observers)自动收到通知。
2025-02-23 13:23:04
461
原创 设计模式-adapter模式(适配器)
适配器模式(Adapter Pattern)用于将一个类的接口转换成客户端所期望的另一个接口,使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。该模式属于结构型设计模式
2025-02-23 13:07:09
445
原创 创建型模式-Prototype 模式(原型模式)
原型模式(Prototype Pattern)是一种创建型设计模式,通过复制现有对象来创建新对象,避免了重复创建对象的开销。原型模式的核心在于通过复制现有的实例对象来生成新的实例对象,从而提升效率。
2025-02-22 21:06:31
594
原创 QWT 之 QwtPlotDirectPainter直接绘制
QwtPlotDirectPainter 是 Qwt 库中用于直接在 QwtPlot 的画布上绘制图形的一个类。它提供了一种高效的方法来实时更新图表,特别适合需要频繁更新的数据可视化应用,例如实时数据流的显示。使用 QwtPlotDirectPainter 的主要优势在于它可以绕过 QwtPlot 的缓冲机制,直接在画布上绘制,从而提高了绘制速度和效率。这对于需要快速响应变化的应用场景(如动态曲线、动画效果等)非常有用。
2024-12-29 20:09:10
828
原创 qwt 之 QwtTransform
QwtTransform*是 Qwt 库中的一个类,用于定义从用户坐标到绘图坐标的变换规则。它主要用于处理非线性刻度(如对数刻度、平方根刻度等),允许开发者自定义轴的刻度映射方式。
2024-12-23 11:27:41
610
原创 qwt之 QwtScaleDraw
QwtScaleDraw 是 Qwt 库中的一个关键类,用于绘制坐标轴的刻度线、标签和标题。它负责定义和渲染图表的轴(如 X 轴或 Y 轴),包括刻度标记、刻度标签以及轴的标题等元素。
2024-12-23 11:11:55
399
原创 qwt 之 QwtPlotPicker
QwtPlotPicker 提供了交互式的选择工具,它允许用户通过鼠标点击或拖动来选择图表中的数据点或区域。这对于实现缩放、平移或者其他基于用户输入的操作非常有用
2024-12-21 20:33:58
1350
原创 qwt 之 QwtPlotMarker
QwtPlotMarker 是 Qwt 库中的一个类,用于在 QwtPlot 中添加标记点。这些标记可以是简单的线条、符号或者带有标签的图形元素,通常用来标注特定的数据点或位置。
2024-12-21 20:21:59
504
原创 qwt 之 QwtPlotCurve
QwtPlotCurve 是 Qwt 库中用于在 QwtPlot 中绘制二维曲线的类。它允许你以不同的方式呈现数据点,比如线条、符号或两者结合。
2024-12-20 10:33:40
511
原创 qwt 简介
是一个基于LGPL版权协议的开源项目, 可生成各种统计图。它为具有技术专业背景的程序提供GUI组件和一组实用类,其目标是以基于2D方式的窗体部件来显示数据, 数据源以数值,数组或一组浮点数等方式提供, 输出方式可以是Curves(曲线),Slider(滚动条),Dials(圆盘),Compasses(仪表盘)等等。该工具库基于Qt开发,所以也继承了Qt的跨平台特性。
2024-12-20 10:13:00
156
原创 qwt之 QwtPlot
QwtPlot 是 Qwt 库中的核心类之一,用于创建和管理二维图形的绘制。它提供了丰富的功能来显示数据曲线、标记、网格线、图例等元素,并且支持多种坐标轴类型(如线性、对数)
2024-12-20 09:52:40
292
原创 qwt 多Y轴 项目效果
支持多Y轴支持单坐标轴选中支持单坐标轴反转、放大、缩小、拖动调整范围和滚轮调整范围支持曲线tracker、和游标以及相交点坐标展示支持自由线,可拖动支持画布放大、缩小、平移支持导出pdf、图片、svg等支持打印预览、打印等。
2024-12-19 20:54:48
878
原创 Qt 之 qwt和QCustomplot对比
QWT(Qt Widgets for Technical Applications)和 QCustomPlot 都是用于在 Qt 应用程序中绘制图形和图表的第三方库。它们各有优缺点,适用于不同的场景
2024-11-14 14:00:23
1136
原创 Modbus 3 PID控制算法
PID算法是工业应用中最广泛算法之一,在闭环系统的控制中,可自动对控制系统进行准确且迅速的校正。PID算法已经有100多年历史,在四轴飞行器,平衡小车、汽车定速巡航、温度控制器等场景均有应用。
2024-11-10 14:16:50
793
原创 Qt Modbus 2 通信实现
上一文章主要了解下Modbus协议和事务处理流程,本章则直接贴放代码实现qt 上位机与温控器通讯。项目主要实现定时读取温度、设置温度、开始加热和停止加热四个功能。采用的是 Modbus Rtu 通信。
2024-10-30 16:12:34
529
原创 Qt与下位机通信时,如何等待下位机回复和超时处理
在C++或Qt中实现与下位机(例如嵌入式设备、传感器等)的通信,并且需要等待对方回复,如果几秒后没有收到回复则执行下一步动作,可以使用多种方法来实现这种超时机制
2024-10-14 10:20:32
942
原创 QML可拉伸、可拖拽为独立窗口的UI框架
代码实现窗口分割首先是分模块可调整大小,可以使用Qt已经封装好的组件SplitView,使用的版本是QtQuick.Controls 2.14,效果上来说和QSplitter相同。
2024-10-11 15:09:49
728
原创 硬件开发流程中EVT、DVT、PVT、MP 都代表什么呢?
• EVT:工程验证测试,验证设计的基本功能和性能。• DVT:设计验证测试,验证产品是否符合所有设计规格。• PVT:生产验证测试,验证生产线是否能够稳定地生产出合格产品。• MP:大规模生产,正式开始大批量生产并将产品推向市场。这些阶段是逐步推进的,每个阶段都有其特定的目标和任务,以确保最终产品能够满足设计要求并顺利投入市场。
2024-10-11 13:46:21
6268
转载 QT解决因屏幕分辨率和缩放产生的界面异常(转载)
在某些情况下,由于屏幕分辨率和缩放比例不是100%,导致一些界面或字体的显示出现异常。此时需要获取到分辨率和缩放比例等相关参数,加以矫正,使界面在不同分辨率和缩放比例下都显示正常。
2024-10-11 10:57:14
1481
原创 C 字节/位的获取,置位,清位操作,大小端转换的宏操作
使用标准库函数C标准库提供了几个函数来处理字节序转换,这些函数通常用于网络编程。它们包括 htons、ntohs、htonl 和 ntohl,分别用于16位和32位整数的转换。对于64位整数,虽然标准库没有直接提供 htonll 和 ntohll 函数,但可以使用 htonl 和 ntohl 来组合实现。
2024-10-11 10:25:11
1168
原创 QML TableView 表格总结
qml 的资料相对qt widget来说,还是偏少啊,无论从帮助文档还是从网上搜索。笔者项目中遇到的一些展示控件,需要用tableview来展示,总结了一下两种方式,都是基于Tableview来实现的,一种是基于 QtQuick.Controls 1.4 版本,一种是高版本 QtQuick 2.14。对业务代码进行了删除,只保留了跟表格有关的代码。几种最重要的几个属性就是。主要关注一下属性设置。
2024-06-30 15:32:31
1537
1
原创 大小端与网络字节序和 wireshark 抓包分析
采用大小模式对数据进行存放的主要区别在于在存放的字节顺序,大端方式将高位存放在低地址,小端方式将高位存放在高地址。
2024-06-19 18:50:06
1794
qt Qprocess 调用 ffmpeg命令,处理音频音量信息
2023-09-04
qt 实现的音视频分贝智能检测系统
2023-08-25
qt qrm qws ctrl+alt+backsap
2020-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人