- 博客(689)
- 资源 (6)
- 收藏
- 关注
原创 第27章:Qt 数据操作与模型绑定
模型(Model):提供数据和数据结构接口(如及其子类)。视图(View):负责数据显示(如QListViewQTableViewQTreeView代理(Delegate):负责数据的显示和编辑表现(如Q_OBJECTpublic:if (!if (role!private:点说明模型解耦视图数据与展示分离,方便扩展和维护Qt 提供丰富模型类包括简单列表、表格模型及数据库模型支持自定义模型满足特殊业务需求模型绑定视图简单使用setModel()
2025-06-07 14:00:19
21
原创 第26章:Qt 数据库连接
类名功能说明管理数据库连接QSqlQuery执行 SQL 语句,操作数据库数据QSqlRecord表示数据库表的一行记录直接绑定数据库表的数据模型,用于视图QSqlError处理数据库错误。
2025-06-07 14:00:09
18
原创 第25章:Qt 动画与状态机框架
方面描述动画框架轻松实现平滑的属性动画及动画组合状态机框架管理复杂状态及事件驱动状态转换结合使用状态切换时触发动画,实现动态效果应用场景UI动效、流程控制、游戏状态管理等。
2025-06-07 13:59:57
14
原创 第24章:Qt QGraphicsView 框架
public:使用:框架适合复杂二维图形交互和显示。通过场景(Scene)-视图(View)-项(Item)三层架构实现灵活管理。支持丰富的图形变换、事件处理及自定义绘制。适用范围广泛,如图形编辑器、游戏、数据可视化等。
2025-06-07 13:59:46
12
原创 第23章:Qt WebSocket 与 Web 通信
WebSocket 是一种在单个 TCP 连接上进行全双工通信的协议,广泛应用于实时 Web 应用,如聊天、游戏、数据推送等。Qt 提供专门的 WebSocket 支持,方便实现客户端和服务器端。
2025-06-07 13:59:33
7
原创 第22章:Qt 网络通信
需求类型Qt类说明TCP客户端/服务器面向连接可靠传输UDP通信QUdpSocket无连接,广播、组播支持HTTP请求简化的网络请求管理SSL安全通信QSslSocket安全加密连接支持网络状态检测检测网络连接状态。
2025-06-07 13:59:20
8
原创 第21章:Qt 任务并发管理
用于在线程池中异步运行一个函数,简化了线程管理。适合快速运行简单函数,不需要自己管理线程。QFuture是 QtConcurrent 执行任务的结果句柄,用于获取异步执行的状态和结果。支持查询任务完成情况、取消任务等。线程池,用于管理和复用一定数量的线程。避免频繁创建销毁线程,提升效率。Qt默认全局线程池可通过获取。表示一个可在线程池中执行的任务。通过继承并重写run()方法,实现具体任务。
2025-06-07 13:59:07
9
原创 第20章:Qt 多线程基础
在不同线程之间发送信号,槽函数自动在接收者线程中执行。多线程允许多个任务同时运行,提高程序效率和界面响应。GUI 对象只能在主线程操作,不能在其他线程操作。Qt 线程间通信主要通过信号与槽,自动线程安全。线程间共享内存,但需要同步,防止竞态条件。线程退出时要正确释放资源,防止内存泄漏。新建线程,将对象移动到线程中执行。创建工作对象,包含槽函数。是程序执行的最小单位。用于线程等待和通知机制。避免死锁和竞态条件。
2025-06-07 13:58:53
8
原创 第19章:Qt OpenGL 与 QOpenGLWidget
OpenGL 是跨平台的低级图形绘制API,主要用于渲染2D/3D图形。Qt 提供了封装类简化 OpenGL 上下文管理和事件集成。函数说明初始化 OpenGL 状态、资源(如着色器、纹理)视口大小变化时调用,设置投影矩阵等paintGL()每次刷新时绘制画面知识点说明Qt内置的OpenGL绘制控件初始化OpenGL状态resizeGL()视口及投影调整paintGL()执行OpenGL绘制命令跨平台OpenGL API封装设置OpenGL上下文版本和属性着色器编程。
2025-06-07 13:58:39
10
原创 第18章:Qt 高级绘图
技术点说明创建复杂路径渐变填充线性、径向、锥形渐变图案填充系统纹理或自定义图片坐标变换旋转、缩放、平移组合状态保存恢复保证绘图状态可控。
2025-06-07 13:58:26
9
原创 第17章:自定义控件基础
Q_OBJECTpublic:protected:// 重绘事件// 鼠标按下事件// 鼠标移动事件// 鼠标释放事件private:当控件需要重绘时,Qt 会自动调用。该函数中应创建QPainter对象来绘制控件内容。关键点说明继承 QWidget创建自定义控件的基础重写 paintEvent使用 QPainter 绘制控件外观鼠标事件处理鼠标按下、移动、释放,实现交互update()请求重绘控件,触发 paintEvent。
2025-06-07 13:58:10
7
原创 第16章:Qt XML 操作
适合中小型 XML 文档的读取和修改,结构清晰。是高效的流式 XML 读写方式,适合大文件和逐条处理。选择合适的方式根据需求和数据规模决定。
2025-06-06 10:49:23
12
原创 第15章:Qt JSON 文件读写
类名作用表示整个 JSON 文档,支持读写JSON 对象,键值对集合QJsonArrayJSON 数组QJsonValueJSON 值,可为对象、数组、字符串、数字等操作代码示例说明读取 JSON 文件从文件读取字节转为 JSON访问对象成员访问 JSON 对象访问数组元素访问数组元素创建 JSON 对象组装键值对写入 JSON 文件保存 JSON 格式文件。
2025-06-06 10:47:33
17
原创 第14章:Qt 配置文件处理
QSettings是 Qt 提供的配置文件读写类。支持多种格式:Windows 注册表(Windows平台)、INI 文件(跨平台)等。适合保存应用程序参数、用户设置等持久化数据。读取配置简单,支持分组,写入安全自动同步。功能方法/属性创建对象写入键值读取键值分组开始分组结束endGroup();删除键清空所有clear();
2025-06-06 10:45:17
12
原创 第13章:Qt 文件读写
适用于结构化数据、跨平台数据存储(如整数、浮点数、QString、QList 等),支持自动序列化。是 Qt 提供的跨平台文件操作类,用于打开、读取、写入、关闭文件。,虽然析构时会自动关闭,但显式更清晰。保存二进制模型或配置数据建议用。获取用户目录,避免硬编码路径。写入日志文件建议使用。
2025-06-06 10:42:09
12
原创 第12章:Qt 文件路径管理
类名主要用途代表函数说明QFileInfo查询文件属性exists()size()suffix()提供单个文件或目录的详细信息QDir目录管理mkdir()目录的创建、遍历、切换系统标准目录跨平台获取桌面、文档等系统目录。
2025-06-06 10:38:46
9
原创 第11章:Qt QString 常用操作详解
功能方法创建拼接append()arg()查找indexOf()contains()替换replace()截取left()right()mid()去空格trimmed()大小写toUpper()toLower()比较==compare()转换toInt()toDouble()
2025-06-06 10:34:07
8
原创 第10章:Qt 定时器与延时操作
工具用途精度是否事件驱动QTimer周期性或延时任务毫秒✅ 是延时任务毫秒✅ 是精确性能计时毫秒/纳秒❌ 否(同步调用)
2025-06-06 10:29:11
9
原创 第9章:Qt 布局管理器详解
布局类型特点水平排列控件垂直排列控件表格式排列,更灵活嵌套布局实现复杂 UI 结构setLayout应用到 QWidget 上使布局生效伸缩因子控制控件占比、间距和伸缩性。
2025-06-06 10:22:20
11
原创 第8章:Qt 常用基础控件使用
控件常用信号说明clicked()被点击时发出QLineEdit文本改变时发出QCheckBox状态改变时发出QComboBox选项改变时发出控件功能常用信号QLabel显示文字/图像点击执行操作clicked()QLineEdit输入文本QCheckBox多选开关QComboBox下拉选择。
2025-06-06 10:19:00
14
原创 第7章:Qt 信号与槽(Signal & Slot)机制详解
信号(Signal):对象在某个事件发生时发出的通知(比如按钮被点击)。槽(Slot):一个函数,用来响应信号(比如执行某个逻辑)。类继承自QObject使用Q_OBJECT宏使用和关键字声明信号与槽场景推荐写法简单事件处理Lambda 表达式多次使用槽函数自定义成员函数作为槽高度解耦模块间通信使用分离逻辑跨线程通信信号槽天然线程安全。
2025-06-06 10:12:00
18
原创 第6章: Qt 事件处理机制详解
创建事件类型:定义事件类:public:技术适用场景是否拦截是否推荐重写特定事件函数处理本类控件行为否✅ 推荐重写event()统一处理多事件否⚠️ 谨慎事件过滤器监听他人控件事件✅ 拦截✅ 推荐。
2025-06-06 10:03:11
13
原创 第5章:QWidget 和 QMainWindow 的区别详解
Q_OBJECTpublic:Q_OBJECTpublic:特性QWidget所属层级通用控件基类专用于主窗口菜单栏支持❌✅工具栏支持❌✅状态栏支持❌✅适合用作主窗口一般不推荐推荐自定义灵活性✅ 很强✅ 带框架。
2025-06-06 09:57:56
11
原创 第4章:Qt main 函数与 Qt 应用程序核心类:QApplication、QObject、QCoreApplication 的详细讲解
/ 应用程序初始化// 创建主窗口w.show();// 显示窗口// 启动事件循环。
2025-06-06 09:54:20
13
原创 第2章:Qt 如何使用 Qt Creator 编写并运行你的第一个 Qt 程序
下面是利用代码添加信号槽函数,图片教程中展示的是自动生成的。,选择合适的 Kit(默认自动检测,MinGW 就可以)创建完项目后会生成一个包含主窗口的程序。– 图形界面布局文件(可视化设计)出现窗口,点击按钮后会弹出消息框。点击左下角的绿色箭头 ▶️。
2025-06-06 09:40:57
130
原创 第1章:Qt 简介与安装
版本特点Qt 5.x稳定成熟,广泛用于工业领域(如 Qt 5.15)Qt 6.x当前主线,增强了 C++20 支持、图形渲染(支持 Vulkan)、模块重构LTS(长期支持)如 Qt 5.15 LTS、Qt 6.5 LTS,适合企业使用商业版提供技术支持,适合闭源商业项目开源版LGPL/GPL 授权,适合学习和开源项目。
2025-06-05 17:56:28
93
原创 第31章:MeshLab核心库 VCGLib 多边形网格的多弦边折叠(Polychord Collapse)
该程序的主要功能是:加载一个多边形网格文件(支持 OBJ、PLY 等格式);对多边形网格执行操作;保存处理后的网格到新的文件中。PolyVertex多边形网格中共享边的面形成的连续“链”;是将这些链状结构折叠以简化网格;true表示在折叠时允许合并拓扑。模块功能openMesh()加载网格并初始化拓扑对所有可折叠的多弦进行简化等清理标记删除的元素saveMesh()保存简化后的结果。
2025-06-04 21:44:35
16
原创 第30章:MeshLab核心库 VCGLib 多边形网格的对偶构造与质量优化
本章节介绍如何使用 VCGLib 实现三角网格到多边形对偶网格的转换,并对对偶网格进行平滑优化与平面展开处理,同时对比不同处理方式下网格面的几何质量与平整度。主要流程如下:加载三角网格(PLY);构建多边形网格(Polygon Mesh);生成对偶网格(Dual Mesh);对对偶网格进行两种处理方式:PCA重投影平滑优化(SmoothReprojectPCA)面展开(FlattenFaces)
2025-06-04 21:23:31
15
原创 第29章:MeshLab核心库 VCGLib vcg::AABBBinaryTreeIndex 对三角网格构建空间加速结构
函数功能查询最近面片(closest triangle)查询最近的 K 个面片TestRay()射线与面片的相交测试这些测试依赖于 VCGLib 的空间结构,基于 AABB 层次包围盒树构建高效索引,用于加速空间搜索。使用了Normal3f表示法线、Coord3f表示坐标。面片包含EdgePlane,用于支持空间查询。整体网格类型为。使用AFace构建索引。为float。EmptyClass是一个不带额外属性的辅助类。场景应用点到网格距离最近邻搜索、碰撞检测K 邻近面片查询。
2025-06-04 20:55:39
18
原创 第28章:MeshLab核心库 VCGLib tri::BallPivoting — 球面邻域重建
/ 构造函数,传入点云 void Init(float radius);// 初始化球半径 void Run();// 执行重建 };
2025-06-03 21:42:47
95
原创 第27章:VCGLib tri::CoM 曲线处理与网格切割 —— 曲面上的折线生成、平滑、豪斯多夫距离计算与精细切割
用于定义支持拓扑、法线、颜色、边界信息的 Mesh 类型。对后续 COM 框架和 Hausdorff 计算都必不可少。
2025-06-03 20:56:38
23
原创 第26章:MeshLab核心库 VCGLib —— tri::SurfaceSampling::VertexUniformSampling 均匀顶点采样详解
在三维网格处理与点云提取任务中,均匀采样(Uniform Sampling)是常用技术之一。VCGLib 提供的可基于输入网格的顶点信息进行均匀采样,常用于快速降采样、点云生成、特征稀疏化等场景。本章将系统介绍该函数的使用方法,提供对比示例,并将采样结果可视化。本章介绍了均匀顶点采样方法,适用于从原始三角网格中快速抽取少量代表性点。通过 VCGLib 和 VTK 的结合,我们完成了数据采样与可视化的完整流程。
2025-06-03 20:39:29
15
原创 第25章:MeshLab核心库 VCGLib —— tri::SurfaceSampling::Montecarlo 蒙特卡洛采样详解
在计算机图形和三维重建中,表面采样(Surface Sampling)用于将网格模型的表面转换为一组点云,以便进行分析、特征提取、降维或其它后续处理。本章将深入讲解 VCGLib 中API 的使用方法,演示如何对网格模型进行蒙特卡洛(Monte Carlo)随机表面采样,比较采样前后的数据,并将采样结果从 VCGLib 转换为 VTK 数据结构进行可视化。本章深入讲解了的原理和使用方法,利用 VCGLib 对三角网格模型进行了随机采样。
2025-06-03 20:36:45
16
原创 第24章:MeshLab核心库 VCGLib tri::SurfaceSampling::PoissonDiskPruning— 泊松采样
泊松盘采样(Poisson Disk Sampling)是一种常用的点采样技术,用于在曲面上均匀分布点,点之间保持一定的最小距离。这种采样方法广泛应用于计算机图形学、点云重建、网格简化等领域。VCGLib 提供了模板函数,可以在任意的三角网格表面生成均匀分布的采样点。
2025-06-03 08:43:24
17
原创 第23章:MeshLab核心库 VCGLib — tri::Clean::SplitMesh 拆分非连通网格部分
函数用于将一个包含多个非连通组件的网格,拆分成多个独立的子网格。每个子网格对应原网格的一个连通分量。该功能在处理复杂网格时非常有用,比如自动分离网格中独立的小部件、分块处理等。
2025-06-03 08:43:06
16
原创 第22章:MeshLab核心库 VCGLib — tri::Clean::MarkBorderFace 标记边界三角面
函数用于标记网格中所有的边界三角面。边界三角面是指至少有一条边是边界边(即该边只属于一个三角面)的三角面。标记边界三角面后,可以方便后续的网格处理工作,比如边界加粗、边界检测、边界区域优化等。
2025-06-03 08:42:55
14
原创 第21章:MeshLab核心库 VCGLib — tri::Clean::CountNonManifoldEdgeFF 统计非流形边
用于统计网格中所有的非流形边数量。非流形边是指在网格中被超过两个三角面共享的边,或者边的连接关系不符合流形的定义,导致网格拓扑异常。这类边会影响网格的可渲染性和后续处理的正确性。
2025-06-03 08:42:42
26
原创 第20章:MeshLab核心库 VCGLib — tri::Clean::RemoveTVertexByFlip 移除“T型点”拓扑错误
用于清理网格中的“T型顶点”(T-vertices)拓扑错误。T型顶点是指一个边上存在的顶点没有被该边的两个面共享,通常表现为边上的顶点“悬空”或“插入”到另一条边上,导致网格不连贯,出现视觉或几何上的裂缝或缝隙。这种拓扑异常在网格拼接、扫描合并或简化操作中较为常见。
2025-06-03 08:42:30
14
原创 第19章:MeshLab核心库 VCGLib — tri::Clean::MergeCloseVertex 合并近似顶点
用于合并网格中距离非常接近的顶点,避免重复顶点造成的冗余,提高网格质量和处理效率。这是网格简化和预处理的常用操作,特别适合扫描数据和模型拼接后清理顶点。
2025-06-03 08:42:16
18
VTK 常用API示例代码
2025-06-01
各种类型的标定板PDF
2025-01-10
FreeWorld库,附加示例教程
2023-06-28
CCCoreLib源码、lib、dll(vs2019编译器)适用于QtCreator工程打开
2023-06-28
Qt Creator+opengl实现四元数鼠标控制轨迹球
2014-03-14
QT对XML增删查改读取,节点自定义,键值自定义
2014-05-05
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人