自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(223)
  • 收藏
  • 关注

原创 QChart控件:图例QLegend

本文详细介绍了Qt图表组件中图例(QLegend)的操作方法,包括基础功能、交互控制和自定义实现。主要内容有:1)图例的显示/隐藏和位置调整;2)通过点击图例项切换系列显示的内置交互功能;3)自定义图例项点击事件响应;4)单独控制图例项可见性和样式;5)图例布局排列方式设置;6)完整示例展示图例交互与自定义实现。文章提供了丰富的代码示例,帮助开发者掌握图例的灵活控制,增强图表交互性和可读性。

2025-10-17 18:24:54 275

原创 QChart控件:显示数据设置

本文介绍了Qt QChart中数据清除和显示设置的常用方法。在数据清除部分,详细说明了四种操作:1)清除系列数据点保留系列;2)删除整个数据系列;3)删除指定范围数据点;4)清除所有系列,并对比了它们的特点和使用场景。在显示设置部分,重点讲解了线条颜色的设置方法,包括直接设置颜色和使用QPen进行更灵活的配置,以及如何动态修改线条颜色。文章提供了完整的代码示例,帮助开发者快速掌握QChart的数据管理和样式设置技巧。

2025-10-17 11:42:17 805

原创 Qt模型控件:QTreeView应用

在QTreeView的一行中插入两个数据,本质上是操作一个多列的模型。步骤设置模型列数。为一行的每一列创建一个。将这些放入一个QList。使用或将这一行数据添加到模型中。这个方法同样适用于插入三列或更多列的数据,只需相应地增加的数量即可。

2025-10-14 16:54:03 603

原创 Qt模型控件:QTreeView&QTreeWidget

Qt中的QTreeView和QTreeWidget是用于显示树状结构的控件。QTreeView遵循Model/View架构,与QStandardItemModel配合使用,通过模型管理数据,视图负责显示。QStandardItemModel提供丰富的API操作树状数据,包括插入/删除行列、查找项、设置表头等,支持多角色数据存储。QStandardItem是数据基本单位,可存储文本、图标等信息,并支持父子关系构建复杂树形结构。这种设计实现了数据与显示的分离,提高了代码可维护性。

2025-10-14 15:26:24 1131

原创 Qt基础:查找数据容器中的最大和最小值

在C++中查找vector或QList的最大/最小值,推荐使用标准库的std::max_element和std::min_element函数。这两种方法适用于基本数据类型和自定义对象,通过迭代器访问元素,代码简洁高效。对于自定义对象,可通过lambda表达式或比较函数指定比较规则。替代方法是手动遍历,但可读性和安全性较差。结论:优先使用标准库算法,这是C++的惯用做法,适用于所有查找极值的场景。

2025-10-13 16:07:08 754

原创 Qt:窗口与文件绑定

摘要: 本文介绍了在Qt中实现窗口与文件绑定的方法,适用于单文档应用开发。核心思想是通过窗口类成员变量m_filePath存储当前文件路径,并围绕该变量实现新建、打开、保存等功能。关键步骤包括:动态更新窗口标题以显示文件状态,使用isWindowModified标记未保存更改,重写关闭事件处理未保存提示。文章提供了完整的代码示例,涵盖文件路径管理、保存逻辑和用户提示交互,适用于文本编辑器等单文档应用场景。(150字)

2025-10-11 17:04:47 510

原创 QChart控件:主要类解析

本文介绍了Qt Charts模块中的两个核心类:QChartView和QChart。QChartView是负责显示和交互的视图类,继承自QGraphicsView,提供缩放、平移等交互功能,并支持抗锯齿等视觉效果优化。QChart作为数据容器,管理图表元素如数据系列、坐标轴、图例等,负责数据可视化呈现。两者配合使用:QChart组织数据,QChartView负责显示和交互。文章详细解析了两个类的主要成员函数,包括交互控制、视觉效果设置和视图操作等,并提供了典型的工作流程说明。

2025-10-11 16:11:13 954

原创 Qt:多文档模式开发

Qt提供了两种管理多窗口的解决方案:QMdiArea和QTabWidget。QMdiArea支持浮动子窗口布局,适合需要同时操作多个独立文档的场景,如Photoshop;QTabWidget采用标签页形式,界面简洁,适合浏览器等需要快速切换内容的场景。两者各有优劣:QMdiArea提供更灵活的多窗口管理,但易显杂乱;QTabWidget节省空间但自由度较低。开发者应根据实际需求选择,前者适合复杂文档处理,后者适合多任务切换应用。

2025-10-10 14:44:46 676

原创 C++压缩解压:Zstandard (Zstd)压缩库

Zstd(Zstandard)是Facebook开发的高性能实时压缩算法,在压缩/解压速度与压缩率之间实现出色平衡。核心优势包括:极快的解压速度(接近内存拷贝)、可调压缩级别(-13至22)、创新的字典压缩(提升小数据块压缩率)、跨平台支持。与Gzip、LZ4等算法相比,Zstd综合表现领先,适用于数据库、日志处理、网络传输等场景。使用方式分为命令行工具(支持字典训练)和编程API(提供C/C++接口),通过灵活配置可在速度与压缩率间取得最佳平衡,成为现代压缩技术的标杆选择。

2025-09-28 18:04:34 1174

原创 5_1、C++函数:标准库

C++标准库是一个功能丰富的分层体系,包含: C标准库:提供基础函数(如<cstdio>、<cmath>)并纳入std命名空间; STL核心组件: 容器(vector/list/map等) 算法(sort/find等) 迭代器(连接容器与算法) C++特有库: 现代字符串/流处理(<string>/<iostream>) 智能指针(unique_ptr/shared_ptr) 多线程(<thread>/<mutex>) 其他高级特性(元

2025-09-25 17:03:45 128

原创 5_2、C++函数:回调函数

回调函数是一种通过函数指针实现反向调用的编程模式,主要用于处理异步操作、实现软件解耦和事件驱动编程。其核心优势包括:异步任务处理(如网络请求、定时器)、模块解耦(如排序库与业务逻辑分离)以及事件响应(如GUI点击)。在C++中可通过函数指针、std::function和成员函数指针三种方式实现,其中现代C++推荐使用std::function结合Lambda表达式,因其更灵活安全。回调函数与多线程本质不同但常结合使用:回调是编程模式,解决"何时调用"问题;多线程是执行方式,解决&quot

2025-09-25 11:55:02 317

原创 C++文件加密:mbedtls库应用

本文介绍了mbedtls加密库的编译安装、功能模块和核心参数。主要内容包括:1) Windows环境下通过CMake编译mbedtls库并生成静态链接库;2) 模块化功能分类,涵盖核心加密算法、X.509证书处理、安全协议实现等;3) 重点说明AES加密实现中的关键参数mbedtls_entropy_context,其作用为收集熵源、管理熵池并提供安全随机数。该库采用"按需包含"设计理念,特别适合嵌入式系统,用户可通过配置文件选择性启用模块以优化资源占用。

2025-09-24 23:25:46 929

原创 C++文件加密:BCrypt

BCrypt是Windows系统的下一代加密API,支持AES、RSA、SHA等多种算法,提供高性能加密服务。它通过句柄机制管理加密对象,支持随机数生成、数据加密/解密和哈希计算等核心功能。典型使用流程包括:初始化算法提供程序、创建密钥/哈希对象、执行加密/哈希操作、清理资源。BCrypt符合FIPS 140-2安全标准,支持硬件加速,适用于数据安全、网络通信和密码存储等场景。

2025-09-24 19:02:38 102

原创 C++文件加密:简介

C++文件加密:理论与应用

2025-09-22 18:53:06 1023

原创 1_2、 C++编码

摘要 本文深入解析字符集与编码的核心概念及区别。字符集定义了字符与唯一码点的映射关系(如Unicode的U+4E2D表示"中"),而编码规定了码点到二进制字节的转换规则(如UTF-8将"中"编码为0xE4B8AD)。通过对比表详细说明了Unicode字符集与多字节字符集(MBCS)在本质定位、覆盖范围、编码关联等方面的差异,指出Unicode+UTF-8已成为现代开发的主流选择,因其具备全球兼容性和跨平台优势。最后对比了UTF-8、UTF-16和GB2312等编码方案

2025-09-22 13:55:51 830

原创 C++ :实现多线程编程

C++多线程编程摘要 C++通过<thread>标准库实现跨平台多线程,核心类std::thread提供线程创建与管理功能。多线程原理是并发共享进程资源(内存/文件),但需同步机制(如互斥锁)避免数据竞争。关键操作包括:构造函数启动线程、join()/detach()控制生命周期、get_id()获取线程标识。优势在于提升CPU利用率(I/O等待时切换线程)和程序响应速度,但面临同步复杂性、死锁风险等挑战。标准库还提供硬件并发数查询(hardware_concurrency())辅助性能优化。需

2025-09-18 17:12:39 1218 1

原创 1_1、 正则表达式

正则表达式(Regular Expression,简称Regex或RegExp)是一种用于描述、匹配和处理文本模式的特殊字符串规则。它通过预定义的符号和语法,快速从复杂文本中筛选、验证、提取或替换符合特定格式的内容,是编程、文本处理、数据清洗等场景的核心工具。简单来说,正则表达式的核心价值是用一套简洁的规则,替代繁琐的字符串判断逻辑。验证“手机号是否为11位数字”从文本中提取所有“邮箱地址”将所有“日期格式(2024-05-20)”替换为“2024年05月20日”

2025-09-18 11:52:17 1429

原创 C++:imagehlp库

摘要: imagehlp 是 Windows 提供的图像处理与调试辅助库,主要用于解析可执行文件(PE)、处理符号文件(.pdb)、生成/分析崩溃转储(.dmp)及读取版本信息。核心功能包括:解析PE结构(如导出/导入表)、加载调试符号(获取函数名、行号)、生成内存转储文件等。开发者可通过SymInitialize、MiniDumpWriteDump等API实现调试工具开发或崩溃分析。需链接imagehlp.lib,并注意权限和符号路径配置。该库专用于Windows平台,是逆向工程、安全检测及调试的重要工具

2025-09-16 18:57:02 487

原创 C++ JSON 数据处理库:jsoncpp

JSON是一种轻量级、跨平台的通用数据交换格式,具有简洁易读、支持多种数据类型等优点,广泛应用于前后端通信、API接口和配置文件等场景。JSON数据由对象(键值对集合)和数组(有序列表)两种核心结构组成,需遵循严格的语法规则,如键名必须用双引号包裹、支持字符串/数字/布尔/null等基础数据类型。 jsoncpp是一个C++处理JSON数据的开源库,支持JSON解析、生成和操作功能,通过Json::Value类表示JSON数据,提供Json::Reader解析JSON字符串、Json::Writer生成JS

2025-09-12 19:21:47 897

原创 C++日志输出库:spdlog

spdlog是一个高性能、单头文件的C++日志库,支持多线程和多种日志输出方式(控制台、文件、滚动日志等)。它易于集成,只需包含头文件即可使用。基础功能包括:彩色控制台输出、多级别日志(trace到critical)、自定义日志格式。高级功能支持文件日志(普通/滚动)、多日志器分流和异步日志(提升性能)。通过简单的API即可实现灵活的日志管理,是C++项目的理想日志解决方案。

2025-09-12 16:54:19 995

原创 单例模式(C++)(错误日志实现)

单例模式是一种常用的设计模式,其核心是,并提供一个全局访问点。

2025-09-09 14:24:29 681

原创 软件详细设计

2.1 系统架构回顾(简述概要设计中的整体架构,如分层架构、微服务模块划分)2.2 设计范围与边界(明确本文档覆盖的模块/子系统,以及未包含的内容)2.3 设计约束与原则(技术选型限制、性能要求、安全性要求、可扩展性原则等)5.1 内部模块接口汇总(表格形式列出所有模块间接口:接口名、参数、返回值、调用时机)5.2 外部系统接口(如与第三方服务的交互接口:HTTP/API协议、参数格式、签名规则)5.3 接口兼容性说明(版本兼容策略、旧接口迁移方案)

2025-09-09 13:53:48 641

原创 Qt模型控件:QListView/QListWidget

Qt中的QListView和QTreeWidget控件分别适用于不同场景:QListView采用Model-View架构,适合展示动态列表数据,需配合QStandardItemModel使用,支持图标、复选框等交互;QTreeWidget基于项模式,适合展示层级数据,如文件目录。两者都支持信号交互、样式定制等功能,但QListView更灵活,适合数据驱动场景,而QTreeWidget更简单直观,适合固定层级结构。

2025-09-05 18:39:19 431

原创 Qt:窗口样式设置

本文介绍了Qt中窗口样式设置的两种关键方法: 窗口最大化/全屏控制:通过组合showMaximized()和showFullScreen()方法,或直接设置setWindowState(),实现窗口全屏显示时最大化按钮状态同步为"还原"状态,并支持快捷键退出全屏。 窗口样式标志设置:详细解析了setWindowFlags()函数的使用,包括窗口类型、标题栏按钮控制、窗口行为等标志位的组合方法,并提供了创建特定样式窗口的代码示例。 关键点: 窗口状态与按钮状态的同步机制 全屏与最大化状态的

2025-09-02 15:22:17 837

原创 Qt控件:按钮相关属性设置

通过QAction的方法设置快捷键,支持更灵活的组合键(如Ctrl+C// 创建动作// 设置快捷键:Ctrl+C// 内置常量// 或自定义组合键:Ctrl+Shift+S// 关联槽函数// 添加到菜单或工具栏(Ctrl+X)、(Ctrl+V)、(Ctrl+Z)等。适用场景:菜单、工具栏按钮等需要快捷键的功能。对于特殊组合键(如Alt+数字Ctrl+Alt+字母// Alt+1 触发功能1。

2025-08-19 11:27:05 227

原创 软件开发基础介绍

静态页面(HTML+CSS+JavaScript):只有前端,没有后端。桌面应用的系统有:Windows、Mac OS、Linux;服务器渲染:有前端,有后端,前后端不分离。手机应用:Android、IOS、鸿蒙。有前端,有后端,前后端分离。

2025-08-14 11:26:24 354

翻译 3D is here: Point Cloud Library (PCL)

摘要:PCL(点云库)是一个开源的3D点云处理库,为机器人感知提供全面的算法支持。随着低成本3D传感器(如Kinect)的普及,PCL集成了滤波、特征估计、配准等先进算法,采用现代C++实现并优化性能。其模块化架构与ROS深度集成,支持多种应用场景。该库包含可视化工具和丰富的示例,已成功应用于导航、目标识别和抓取等任务。PCL的开放性和社区支持使其成为3D感知领域的重要工具。

2025-08-11 15:46:40 86

原创 项目研发进度安排

本文提出了一套自动化检测设备研发项目的阶段化进度管理框架,核心原则包括:阶段目标清晰化、任务可拆解、节点可跟踪。项目周期被划分为6个核心阶段(需求分析、方案设计、硬件开发、软件开发、系统测试、验收交付),总周期12周。每个阶段明确了具体任务、输出物、负责人和时间节点,并强调要预留10%-20%缓冲时间应对风险。关键管理要点包括:需求冻结避免返工、硬件软件并行开发协调、里程碑节点与付款绑定、使用甘特图跟踪进度等。特别建议在前期夯实需求与方案,中期注重并行任务协调,后期保留缓冲应对风险,从而确保项目按时交付。

2025-07-21 17:57:37 1028

原创 Qt基础:数据容器类

是一个动态数组容器类,用于存储和管理相同类型的元素。它提供了快速随机访问、动态扩展和丰富的操作方法,是Qt中最常用的容器类之一。如果需要频繁在中间插入/删除元素,可考虑使用。如果需要键值对存储,可使用。C++11范围for循环。

2025-05-24 17:29:15 661

原创 Qt控件:显示控件

Qt显示控件:QLabel、QCalendarWidget

2025-05-22 17:16:56 904

原创 Qt控件:输入控件

输入控件:QComboBox、QLineEdit

2025-05-22 16:42:51 1092

原创 Qt功能区:Ribbon控件

实现功能:设置程序窗口的样式RibbonThemeOffice2013, ///< office2013主题RibbonThemeOffice2016Blue, ///< office2016-蓝色主题RibbonThemeOffice2021Blue, ///< office2021-蓝色主题RibbonThemeWindows7, ///< win7主题RibbonThemeDark, ///< 暗色主题SARibbonComboBox直接继承于QComboBox,并没有添加什么函数。

2025-05-21 19:18:07 971

原创 Qt文件:XML/PCH

XML(可扩展标记语言)是一种用于存储和传输数据的标记语言,具有平台无关性、结构清晰等特点。XML文件通常包含XML声明、文档类型定义(DTD)、根元素、元素、属性和文本内容。XML文件必须严格遵循格式规则,如区分大小写、正确闭合标签、唯一根元素、正确嵌套标签等。与HTML不同,XML主要用于数据存储和传输,而HTML用于网页展示。在Qt中,XML文件可以通过DOM方式(QDomDocument)或SAX方式(QXmlStreamReader/QXmlStreamWriter)进行操作。DOM方式适合处理小

2025-05-20 15:08:37 1771

原创 Qt动态生成 UI

本文介绍了在Qt框架中动态生成UI的相关技术,主要包括窗口样式的创建和UI对象的获取。在窗口样式创建部分,详细说明了如何使用Qt::WindowType枚举类型来定义窗口的行为和外观,包括窗口类型标识、窗口提示标志和特殊行为标志,并提供了代码示例展示如何在窗口构造时设置标志以及如何动态修改窗口标志。在获取UI对象部分,介绍了通过objectName获取控件的方法,包括使用QObject::findChild()和QObject::findChildren()进行单个或批量查找,以及通过QApplicatio

2025-05-20 11:30:18 641

原创 Qt功能区:Ribbon框架

Ribbon是一种将菜单栏和工具栏合并的界面设计,通过标签页(Category)和面板(Pannel)组织功能按钮。SARibbon库参考了MFC Ribbon的命名风格,支持上下文标签(Context Category)、应用按钮(Application Button)、快速响应栏(Quick Access Bar)和预览控件(Gallery)等功能。在Qt中使用SARibbon时,可以通过动态库安装和配置,将主窗口的父类替换为SARibbonMainWindow,并在QWidget中嵌入SARibbon

2025-05-16 17:51:15 2078

原创 Qt控件:点击控件

QAction 是 Qt 框架中的核心类,用于表示应用程序中的操作,如菜单项、工具栏按钮或快捷键触发的功能。它将操作的逻辑与 UI 表现分离,支持统一操作逻辑、状态管理、图标与文本设置,并通过信号与槽机制触发操作。QAction 可关联到 QPushButton 和 QToolButton 等控件,实现动作的复用和状态同步。QComboBox 是 Qt 中的下拉列表框控件,允许用户从预定义选项中选择或输入自定义内容,支持只读和可编辑模式,并通过信号捕获选项变化。两者在 Qt 中分别用于抽象操作和选择功能,提

2025-05-16 15:13:27 754

原创 Qt功能区:简介与安装

Qt 官方不支持 Ribbon 风格的 UI,但市面上存在多个开源和商用的 Ribbon for Qt 项目,如 QtitanRibbon、SARibbon 等。SARibbon 是一款轻量级的 Ribbon 控件,适用于大型、复杂软件的 UI 设计,支持多种主题风格和布局样式,并提供了丰富的功能,如最小化模式、快速访问栏、Gallery 控件等。SARibbon 的编译与安装可通过 CMake 或 Visual Studio 完成,生成静态库或动态库后即可在项目中使用。SARibbon 的设计参考了微软

2025-05-14 16:44:37 1123

原创 7. CMake基础:其他指令

CMake简单指令:find_package、CACHE、include

2025-05-13 17:45:24 571

原创 Qt常见错误

在C++中,不允许指针指向不完整的类类型,这意味着你不能声明一个指向尚未完全定义的类或结构体的指针。这通常会导致编译错误。

2025-05-08 10:51:38 471

原创 6、CMake基础:流程控制

在 CMake 的 CMakeLists.txt 中也可以进行流程控制,也就是说可以像写 shell 脚本那样进行条件判断和循环。

2025-05-07 19:14:30 772

Mbed TLS库配置与简介.pdf

Mbed TLS库配置与简介.pdf

2025-09-23

函数静态库创建以及测试程序代码

函数静态库创建以及测试程序代码

2025-04-28

qt-opensource-windows-x86-5.14.2.exe

qt-opensource-windows-x86-5.14.2.exe 百度网盘下载

2025-03-28

DeepSeek使用技巧及教程

DeepSeek使用技巧及教程

2025-02-10

SQLite的ODBC驱动程序

SQLite的ODBC驱动程序

2024-07-26

Mysql基础:数据库数据文件

配套“数据库基础”文档操作

2024-03-10

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除