- 博客(104)
- 收藏
- 关注
原创 C++中auto&和auto&&
C++中auto&与auto&&的核心区别在于引用类型与绑定能力: auto&是左值引用,仅能绑定非临时对象,适合直接修改容器元素或避免拷贝; auto&&是万能引用,根据上下文推导为左值或右值引用,适用于泛型编程、完美转发和处理代理对象。 最佳实践: 修改原数据时优先用auto&,语义更明确; 处理未知类型或临时对象时用auto&&,但需注意右值生命周期。 避免错误场景:auto&不能绑右值,auto&&在简单场景可能降低可读性。
2025-06-09 22:46:55
659
原创 在OpenGL中,齐次坐标的第四分量w用于区分几何实体的类型(点或向量)
在OpenGL中,齐次坐标的第四分量(w)用于区分几何实体的类型(点或向量),并直接影响其在变换矩阵作用下的行为。
2025-06-09 12:44:21
205
原创 设置QDialog的setModal(true)对show()无法阻塞
Qt对话框模态阻塞失效问题分析 摘要:当使用setParent(this)设置对话框父对象时,会导致setModal(true)无法阻塞父窗口。原因在于: 窗口标志变化:setParent(QWidget*)会清除Qt::Dialog类型标识,将对话框降级为普通嵌入式部件 模态依赖窗口类型:只有当窗口保留Qt::Dialog或Qt::Window标识时,模态设置才会生效 解决方案: 使用setParent(parent, windowFlags())显式保留窗口标志 或在构造函数中直接指定父对象
2025-06-08 17:02:56
533
原创 达梦使用存储过程实现删除重复记录、判断并添加主键和自增列的逻辑
本文介绍了达梦数据库中确保主键唯一性的存储过程实现方法。该存储过程包含三个主要功能:1)删除表中重复记录确保主键唯一性;2)检查并添加主键约束;3)检查并添加自增列属性。存储过程通过动态SQL实现这些功能,并提供了详细的使用说明和注意事项。调用时只需传入表名和列名参数即可自动完成相关操作,适用于不同表的批量处理。执行前建议做好数据备份,并确保用户具有足够权限。
2025-06-08 09:30:00
216
原创 QT中子线程触发主线程弹窗并阻塞等待用户响应
实现子线程安全触发主线程弹窗并阻塞等待: 一、使用QMetaObject::invokeMethod;二、使用QTimer::singleShot
2025-06-01 15:41:17
1258
原创 QT中子线程触发主线程弹窗并阻塞等待用户响应-传统信号槽实现
QT中子线程触发主线程弹窗并阻塞等待用户响应:在子线程执行耗时任务时,需暂停并触发主线程弹窗获取用户决策,子线程需阻塞等待响应后继续执行或终止。
2025-06-01 15:22:42
507
原创 QtConcurrent run中抛出异常在QFutureWatcher传递原理
QtConcurrent::run中抛出的QException子类异常,需通过`QFuture`的result()或waitForFinished()触发传递到主线程。
2025-06-01 13:25:23
569
原创 C++ 中虚继承与非虚继承的对比分析
虚继承:专为菱形继承设计,通过共享基类实例解决数据冗余和二义性,代价是内存和性能开销。实际开发中,优先避免过度多重继承,仅在必要时使用虚继承。
2025-05-08 12:04:17
555
原创 C++ lambda表达式的捕获原理
Lambda表达式本质是编译器生成的匿名类,通过重载operator()实现函数调用运算符。mutable修饰:移除operator()的const限定,允许修改副本。表达式定义时,后续外部变量修改不影响已捕获的值(引用捕获除外).
2025-05-07 20:10:33
1007
原创 QTableView复选框居中
QSS居中QTableView::indicator;自定义复选框委托类,实现在 QTableView 中居中显示复选框,并支持点击交互,结合原样式;
2025-04-29 00:00:42
789
原创 QTableWidget 中insertRow(0)(头插)和 insertRow(rowCount())(尾插)的性能差异
QTableWidget 中insertRow(0)(头插)和 insertRow(rowCount())(尾插)的性能差异
2025-04-03 22:35:02
797
原创 解决QSharedPointer栈变量的崩溃问题
QSharedPointer 必须管理 new 创建的堆对象?将栈对象交给 QSharedPointer 会导致运行时崩溃?
2025-03-31 22:21:19
302
原创 使用enable_if模板处理不同相同结构体c++14及C++17
使用enable_if模板处理不同相同结构体c++14及c++17一种常见错误是声明两个仅在默认模板实参上有别的函数模板。这样做是无效的,因为这些函数声明被当做同一函数模板的再声明(函数模板等价性中并不计入默认模板实参)。
2024-11-10 18:30:27
1171
1
原创 QToolBox先removeItem再addItem失败
QToolBox先removeItem再addItem失败。函数的调用推迟到当前函数执行完成后。这样,可以确保每次递归调用的深度不会超过函数栈的容量,避免了崩溃的问题。总结起来,通过定时器的延迟可以避免函数栈溢出,因为它将。
2023-12-30 23:22:35
619
1
原创 实现极坐标图表QPolarChart的角度轴范围是[0,360]时,0度在水平右侧
默认QPolarChart的范围是[0,360]时,0度在垂直上方。实现极坐标图表QPolarChart的角度轴范围是[0,360]时,0度在水平右侧
2023-11-23 00:07:58
1440
转载 CMake 保姆级教程(下)
通过得到的结果我们可以得到一个结论:在进行路径比较的时候,如果使用 PATH_EQUAL 可以自动剔除路径中多余的分割线然后再进行路径的对比,使用 STREQUAL 则只能进行字符串比较。在遍历列表的时候一共使用了两种方式,一种提供了多个变量来存储当前列表中的值,另一种只有一个变量,但是实际取值的时候需要通过。的方式来操作,注意事项:第一个列表对应的编号是0,第一个列表对应的编号是0,第一个列表对应的编号是0。的加强版,我们在遍历一个整数区间的时候,除了可以指定起始范围,还可以指定步长。
2023-09-03 00:12:49
551
转载 CMake 保姆级教程(上)
CMake 是一个项目构建工具,并且是跨平台的。关于项目构建我们所熟知的还有Makefile(通过 make 命令进行项目的构建),大多是IDE软件都集成了make,比如:VS 的 nmake、linux 下的 GNU make、Qt 的 qmake等,如果自己动手写 makefile,会发现,makefile 通常依赖于当前的编译平台,而且编写 makefile 的工作量比较大,解决依赖关系时也容易出错。而 CMake 恰好能解决上述问题, 其允许开发者指定整个工程的编译流程
2023-09-03 00:08:01
1049
原创 QTableWidget对单元格(QWidget/QTableWidgetItem)的内存管理[clearContents()]
QTableWidget对单元格(QWidget/QTableWidgetItem)的内存管理[clearContents()] 1.clearContents() 会清除表格中的所有单元格内容,包括释放`之前创建的QTableWidgetItem 和通过 setCellWidget() 设置的 QWidget 对象,但是不指向nullptr并且是延时释放QWidget 的而QTableWidgetItem 立即释放;
2023-08-05 19:41:21
1195
原创 解决嵌入式中QTableWidget双击出现空白QTableWidgetItem输入
解决嵌入式中QTableWidget双击出现空白QTableWidgetItem输入嵌入式中QTableWidget一般只能看数据不能编辑,或者是选择所以双击出现空白QTableWidgetItem输入是不允许的
2023-07-25 22:56:17
793
原创 考核:QTableWidget开发[折叠/展开单元格QTableWidgetItem]
1. 初始化界面:设置表格的显示属性,包括隐藏水平表头、选择行为为行、选择模式为单选,并自动调整列宽。2. 填充表格:根据数据 **faTable** 和 **nTable**,将方案信息和装备信息填充到表格中。每个方案对应一个 **QDialog** 对话框,通过单元格的组件展示在表格中。3. 方案折叠/展开:点击方案的折叠按钮,可以折叠或展开方案的详细信息。折叠时隐藏方案的详细信息,展开时显示方案的详细信息。4. 方案搜索:在搜索框中输入名称,点击搜索按钮,可以搜索并滚动到对应的方案。匹配则展开
2023-07-15 17:22:58
2397
翻译 <2>[QTCN]图片数据转换工具
[QTCN]图片数据转换工具 说明:图片数据转换工具,可以批量将图片转换成数据,将数据转换为图片。 亮点:延时处理,图片数据解码,16进制格式和base64格式,进度条同步显示,文件保存等。新增:自动推算路径无需再选择(不存在则自动创建)
2023-07-12 00:17:38
510
翻译 <1>[QTCN]颜色拾取器
[QTCN]颜色拾取器 - 桌面置顶 - 获取全局鼠标坐标和颜色(Web值、RGB) - **新增**: 按下鼠标右键停止/开启
2023-06-29 11:32:48
419
1
原创 QT桌面挂件动画
QT桌面挂件动画; - 桌面挂件动画置顶 - 切换挂件动画 - 图片选择更换桌面壁纸 - 显示时改变桌面壁纸,隐藏/退出时还原桌面壁纸 - 系统托盘菜单,可选择开/关悬浮挂件功能按键 - 悬浮挂件功能按键随鼠标区域显示/隐藏
2023-06-28 14:55:25
1175
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人