自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Ray

靡不有初鲜克有终

  • 博客(87)
  • 问答 (1)
  • 收藏
  • 关注

原创 Qt 自定义无标题栏窗口:FramelessWidget 实现与解析

本文介绍了Qt中实现无标题栏窗口(FramelessWidget)的核心技术。通过Qt::FramelessWindowHint标志隐藏系统标题栏,并重写鼠标事件处理逻辑实现窗口拖拽和边缘调整功能。关键点包括:使用mousePressEvent记录初始位置,mouseMoveEvent处理窗口移动和大小调整,updateCursorShape动态更新光标形状。此外还支持全屏切换、状态记忆和子部件兼容等特性,为开发者提供完整的无边框窗口解决方案。150字

2025-10-09 17:18:54 1065

原创 Qt自定义消息提示组件实现,类Toast 消息提示

本文介绍了一个自定义Qt消息提示组件PPMessageBar,它解决了Qt自带组件功能单一的问题,支持多种消息类型、位置布局和主题适配。该组件具有以下特点: 多功能性:提供4种消息类型(成功、警告、信息、错误)和8种显示位置,支持自动/手动关闭和暗色主题适配。 智能管理:通过静态映射表管理消息实例,避免内存泄漏,并自动清理无效对象。 视觉优化:采用圆角、阴影和动画效果,提升用户体验,且能根据父窗口背景自动切换亮/暗主题。 易用性:通过工厂方法简化创建流程,支持静态调用,无需手动管理实例。 PPMessage

2025-10-09 16:36:40 1022

原创 使用DBeaver工具导入/出数据库

本文介绍了使用DBeaver管理MySQL数据库的基本操作。首先需要下载安装DBeaver并新建MySQL数据库连接。导入数据库时,先创建新数据库,然后通过"执行脚本"功能导入SQL文件;导出数据则通过"转储数据"功能完成。文章配有详细的操作截图,展示了从创建连接到数据导入导出的完整流程。这些操作适用于需要备份或迁移MySQL数据库的用户。

2025-09-22 10:41:54 580

原创 window cmakelist下设置生成exe应用程序的图标

本文介绍了如何为CMake项目生成的exe文件添加自定义图标。首先在CMakeLists.txt同级目录创建app_icon.rc文件,指定图标路径(建议使用ico格式)。然后在add_executable命令中引入该资源文件。重新编译后,exe文件即可显示自定义图标,取代默认的Windows图标。该方法同样适用于.pro项目文件的操作。

2025-09-17 17:02:47 373

原创 window环境下打包一个exe可执行文件为安装包

本文介绍了使用Inno Setup工具创建Windows安装包的关键步骤。首先需要准备Release环境编译好的exe文件,然后通过Inno Setup向导选择程序文件和资源文件路径。重点说明了如何修改脚本以包含整个文件夹资源(使用recursesubdirs参数),并区分了安装包图标与应用程序图标的区别。最终生成的安装包将包含指定目录下的所有文件及子目录,形成完整的程序安装包结构。

2025-09-17 16:52:31 516

原创 在window下使用visual studio + cmake gui 源码编译 gRPC

本文介绍了在Windows环境下使用CMake GUI和Visual Studio编译gRPC库的完整步骤。首先需要准备Visual Studio、CMake GUI、gRPC源码和NASM工具。通过git拉取指定版本分支并初始化子模块后,在CMake GUI中配置源码路径、输出目录及关键参数(如动态/静态库选项、安装路径和语言支持)。完成配置后,在Visual Studio中生成解决方案并安装。最后提供了CMakeLists.txt的编写示例,包含find_package配置和gRPC代码生成函数,用于自

2025-09-16 18:24:20 580

原创 深入解析Qt节点编辑器框架:高级特性与性能优化(四)

本文探讨了Qt节点编辑器框架的高级特性与性能优化策略。在高级交互方面,介绍了节点组管理、智能连接线路由算法和批量操作功能,通过层级组织、障碍规避和快捷键体系提升复杂流程图的编辑效率。性能优化部分提出懒加载和连接更新节流机制,通过仅渲染可视区域内容、限制连接线更新频率(50ms间隔)来应对大规模节点场景,确保框架在高负载下保持流畅运行。这些策略能显著提升编辑器在超过100个节点时的响应速度和稳定性。

2025-08-29 17:30:53 871

原创 深入解析Qt节点编辑器框架:数据流转与扩展机制(三)

本文深入探讨了Qt节点编辑器的数据流转与扩展机制。数据流转通过类型安全的数据传递、依赖触发更新和惰性计算三大机制实现,确保节点间高效可靠通信。扩展机制支持用户自定义节点类型,通过继承Node基类实现核心接口,并利用节点工厂模式进行动态注册与创建。这些设计使框架能够适应复杂业务场景(如数据处理流水线、可视化编程),同时保持灵活性和高性能。

2025-08-29 17:30:09 1109

原创 深入解析Qt节点编辑器框架:交互逻辑与样式系统(二)

本文探讨了节点编辑器交互逻辑的实现与样式系统设计。交互层面通过分层机制处理复杂用户操作,包括节点拖拽的坐标映射与性能优化、连接创建的临时连线绘制与有效性检查,以及基于命令模式的撤销/重做功能。样式系统采用分层设计,支持节点标题栏、内容区和端口的独立配置,通过接口抽象实现视觉呈现的高度可定制性。整个框架通过分离视图层与模型层,在保证功能完整性的同时,兼顾了交互流畅性与视觉灵活性。

2025-08-29 17:28:41 1253

原创 Qt节点编辑器设计与实现:动态编辑与任务流可视化(一)

本文介绍了一个基于Qt框架开发的节点编辑器项目,该项目源自NodeEditor开源项目,支持任务流可视化编辑。系统采用模型-视图分离架构,包含模型层(管理节点/连接数据)、视图层(图形渲染)和交互层(用户操作处理)。核心功能包括节点/连接编辑、动态样式设置、撤销重做等操作,支持JSON配置和跨平台兼容。关键模块包括样式管理系统(多状态样式支持)、图形数据模型(动态端口处理与连接校验)以及几何计算模块(精准交互检测)。项目通过模块化设计实现了灵活扩展,适用于工作流编排等多种场景。

2025-08-29 17:26:45 2153

原创 Qt表格组件封装与远程数据库连接:从数据展示到交互体验

本文介绍了一个基于Qt MVC模式的远程数据库表格系统,核心组件包括: RemoteTableModel:处理远程数据异步加载与CRUD操作,通过回调机制避免UI阻塞 GeneralDelegate:自定义单元格渲染与交互(如删除按钮) QTablePages:整合视图、模型和分页控件,支持多条件筛选 PageNavigator:实现分页状态管理 系统采用分层设计,各组件职责明确,支持远程数据的高效加载与交互操作,解决了传统QSqlTableModel无法处理远程数据库的局限。

2025-08-27 18:03:48 1000

原创 使用Nginx搭建图片传输服务:配置与优化指南

本文介绍了在Ubuntu服务器上配置Nginx实现图片上传功能的步骤。主要内容包括:1)使用apt命令安装Nginx并检查80端口占用情况;2)创建/opt/app_images目录作为图片存储路径并设置权限;3)配置Nginx监听8085端口,设置50M文件上传限制,配置上传接口反向代理和图片访问路径;4)提供Nginx常用管理命令;5)测试上传接口和图片访问的方法。配置完成后,系统可通过8085端口接收图片上传请求并存储到指定目录,同时提供图片访问服务。

2025-08-27 17:26:38 369

原创 Qt图片上传系统的设计与实现:从客户端到服务器的完整方案

本文介绍了一个基于Qt框架的完整图片上传系统实现方案。系统采用客户端-服务器架构,包含四个核心组件:1) ImageUploadWorker负责图片处理与上传逻辑;2) ImageUploadManager管理多线程生命周期;3) ImageUploader处理HTTP网络通信;4) 服务器端基于httplib实现图片接收存储。客户端通过多线程异步处理实现不阻塞UI的上传流程,服务器端按日期/表名/时间戳的规则组织存储并返回访问URL。系统支持从文件路径和内存数据两种来源上传,并通过数据库记录上传结果,实现

2025-08-27 17:06:37 821

原创 基于 Qt 实现的动态流程图画板框架设计与实现

本文介绍了一个基于Qt的流程图可视化框架,采用"场景-视图-元素"三层架构实现数据与展示分离。系统核心包括场景管理、视图控制和节点/边元素三大组件,支持自动布局算法、状态可视化、交互反馈等功能。通过GRPC接收数据并解析为JSON格式,最终由场景进行动态渲染。该框架具备良好的扩展性,可自定义状态类型、布局算法和外观风格,适用于流程监控、任务调度等场景的可视化需求。项目地址:https://gitee.com/shan-jie6/sharecode/tree/master/flowchar

2025-08-27 16:27:04 1127

原创 多人开发时Git的变基和摘取使用技巧

使用gitpull拉取最新代码时,默认的,gitpull前应确保本地提交都已经推送,否则会造成一个本地合并,没有实际作用且导致分支图错乱。

2025-01-20 14:14:55 1870

原创 QT 使用QSqlTableModel对数据库进行创建,插入,显示

本案例用于对数据库中的数据进行显示等其他操作,其他表格筛选,过滤等功能可看此博客框架:数据模型使用,视图使用QTableView,表格的一些字体或者控件之类的使用实现。导航栏的变化实时的传回给表格,所有的数据库表都实现继承一个表格类,根据表格本身的特性可以设置自己的委托。数据库使用一个单列类进行管理,包括数据库的读取,创建,数据插入,以及对模型的映射等。使用的数据库类型为QPSQL知识理应共享,源码在此。

2025-01-18 15:13:53 1732

原创 QT 使用QTableView读取数据库数据,表格分页,跳转,导出,过滤功能

本案例用于对数据库中的数据进行显示等其他操作。数据模型使用,视图使用QTableView,表格的一些字体或者控件之类的使用实现。导航栏的变化实时的传回给表格,所有的数据库表都实现继承一个表格类,根据表格本身的特性可以设置自己的委托。数据库使用一个单列类进行管理,包括数据库的读取,创建,数据插入,以及对模型的映射等

2025-01-18 14:55:36 1765

原创 QT 使用OpenGL显示并查看点云图

无需其他库,只使用OpenGL绘制图形类,计算点云的最小包围盒(轴对齐包围盒,AABB),可以帮助确定视图的缩放级别,或者在用户进行平移和旋转操作时保持点云在视图内这两个类结合起来,前者提供了渲染和交互的框架,后者用于理解和限定点云的空间范围。

2025-01-18 11:08:33 1858 3

原创 C++ 搭建一个双向多线程的GRPC通信服务框架

Protobuf 提供了一种定义数据结构和序列化数据的方法,而 GRPC 提供了一种使用这些数据结构进行远程过程调用(RPC)的方法。这两者结合使用,可以构建出高效、可扩展的分布式系统。

2025-01-16 15:34:52 1913

原创 ubuntu下安装编译grpc与protobuf

【代码】ubuntu下安装编译cmake,grpc与protobuf。

2025-01-16 10:27:07 603

原创 Qt 使用共享内存的方式限制程序单一启动

【代码】Qt 使用共享内存的方式限制程序单一启动。

2025-01-15 18:19:13 527

原创 ubuntu 使用linuxdeployqt打包Qt程序

这样其实就可以了,但是我们可以看到它有俩个error,其实这并有关系 一个是没有 .desktop 文件,这个是linuxdeployqt的一个配置,后续可以再次编辑,一个是没有设置图标也是后续可再次编辑的。ldd命令本身只能查找隐式加载的so,故若程序中代码使用显式加载的so,它是找不到的,需要自己手动的加入。准备好程序的realse环境下的可执行文件,使用qtcreator或者vsode的IDE都行,找到。文件夹下,至此程序打包完成,应可正常启动。目录下,这样,我们就可以在其他目录访问了。

2025-01-14 17:02:34 1861

原创 C++ QT 自绘呼吸灯

C++ QT QLabel 自绘呼吸灯。

2025-01-14 16:33:58 493

原创 C++QT 使用VLC播放实时视频

VLC媒体播放器(简称VLC)是一个自由、开源的跨平台多媒体播放器及框架,由VideoLAN项目维护。它能够播放大多数多媒体文件,以及DVD、音频CD、VCD和各种流媒体协议。

2025-01-14 16:19:49 613

原创 在Ubuntu下安装PostgreSQL数据库以及安装pgAdmin4工具

在Ubuntu下安装PostgreSQL数据库以及安装pgAdmin4工具

2025-01-14 15:10:32 943

原创 Qt 使用QTreeView显示并动态的增删改查JSON文件数据

本案例在此开源项目QJsonModel的基础上实现,动态的生成并操作JSON数据QJsonModel是一个基于的JSON数据模型,它提供了一种简单的方式来将JSON数据可视化,功能简单来说就是读取JSON文件显示与修改。根据具体的需求,修改了部分代码,添加了一些功能点。添加了菜单,可增删数据自定义约束数据类型添加新旧值显示自定义表头名称鼠标悬浮提示总的来说就是使用的model-Viwe架构,通过QJsonModel将JSON数据可视化,然后通过自定义的QTreeView来显示数据,,通过。

2024-11-09 17:51:38 1135

原创 关于QT cmake项目添加了.ui文件build未自动生成ui_xxx.h,错误提示找不到这个头文件问题处理

【代码】关于QT cmake项目添加了.ui文件build未自动生成ui_xxx.h,错误提示找不到这个头文件问题处理。

2024-10-15 10:34:22 3632

原创 Ubuntu系统可以使用WIFI上网,而插网线有线网不能上网,网卡驱动未安装问题解决

docker0:这是Docker使用的虚拟网络接口,用于Docker容器的网络通信。它目前没有连接(NO-CARRIER),并且状态为DOWN,这可能是因为没有运行任何Docker容器。从输出来看,它处于启用状态(UP),但是处于休眠模式(DORMANT)。首先要排除是否为硬件问题,我在windows下是可以正常使用网线的,所以排除硬件的问题。lo:这是本地回环接口,通常用于本地通信,如访问localhost。这就是网卡的制造商,我们去他们的官网下载中心,找到对应型号的驱动。文件,安装步骤它写的很清楚。

2024-10-12 17:21:55 3546

原创 Linux下以编译源码的方式安装Qt5与Qt6及其使用

【代码】Linux下以编译源码的方式安装Qt5与Qt6及其使用。

2024-10-11 20:58:05 2488

原创 Qt 自绘开关按钮以及设计器中的提升为用法

在Qt设计器中,它允许用户将一个标准Qt Widget转换为自定义的QWidget子类。这样,用户可以在设计器中使用自己的控件,同时还能在代码中添加额外的功能或属性。知识理应共享,源码在此提升为用起来还是很方便的,可以大大减少代码量以及提高阅读效率。

2024-10-11 18:02:22 861

原创 linux ubuntu 更新/安装clang编译器

实际上安装在了不同的路径,你需要将上述命令中的 /usr/bin/clang-12 替换为实际路径。安装后当你再次查看版本时还是显示的是。也可以运行以下命令查看指定版本的。完成上述步骤后,再次确认。

2024-07-22 17:04:40 2530

原创 linux终端美化[zsh]以及一些效率工具的使用

terminator,zsh,tldr,ranger,Lazygit,glances,shc使用介绍

2024-07-22 16:59:47 1470

原创 ROS发布与订阅使用以及launch启动多个节点实例

在ROS中,发布(Publish)与订阅(Subscribe)是其通信机制中的核心概念,它们基于一种叫做“话题”(Topics)的通信方式。

2024-07-18 23:37:34 2003

原创 【ROS】的软件包应用商店使用-以小乌龟为例

ros应用商店,里面有大量ros可使用的软件。下面以ros经典的控制小乌龟为例。商店有大量的软件可供选择,可以按需进行下载。

2024-07-18 10:51:43 481

原创 QT 音乐播放器【二】 歌词同步+滚动+特效

音乐播放器 使用QGraphicsView上绘制,实现歌词同步+滚动+特效

2024-06-03 11:26:24 3640 8

原创 QT 音乐播放器【一】 显示音频级别指示器

QAudioProb提供了一个用于播放音频和视频的媒体播放器它提供了一个探针,用于监控音频流。当音频流被捕获或播放时,可以接收到音频数据。这个类在需要访问音频数据以进行分析或处理的情况下非常有用,而不需要直接与音频设备交互。是的一个信号,当音频数据可用时这个信号会被发射。这个信号的参数是一个对象,它包含了音频数据的详细信息,比如采样率、通道数、格式以及音频数据本身。当与一个,它可以探测到这个媒体对象的音频输出。当媒体对象播放音频时,音频数据会通过信号传递槽函数,通过槽函数处理音频缓冲区,更新音频级别显示器。

2024-05-30 13:46:42 1252 3

原创 【笔记】Qt 按钮控件介绍(QPushButton,QCheckBox,QToolButton)

QAbstractButton 是个抽象类,该类是标准按钮 QPushButton、复选按钮 QCheckBox、单选按钮 QRadioButton、工具按钮 QToolButton 的父类,该类描述了按钮的一些共同功能,比如单击按钮发出的信号,按钮的状态等访问函数:bool autoExclusive() const;描述了按钮的自动排他性,若启用了该属性,则属于同一父部件的可选中按钮的行为,就好像是在同一排他性组中的按钮一样。除了单选按钮,默认为关闭。

2024-05-24 21:26:48 1433

原创 Visual Studio Code插件

VsCode常用插件(个人向),持续更新

2024-05-24 17:27:30 998

原创 QT 使用QLsitView 实现多个子项选中取消效果

整个界面的布局介绍请看这篇博客想要的到这种自由选择中的Item效果,需要使用到Model-view的思想,每个item中都要存放一个标志位,用在Paint函数去判断是否绘制为按下的状态。每次item被点击时,更新标志位,并刷新视图,从而实现点击后变色的效果。知识理应共享,源码在此。这个示例中的功能点,主要在于绘制函数的实现,要考虑怎么把原有qt的绘制屏蔽掉,关于数据处理的部分很简单。

2024-05-23 15:31:13 672

原创 VsCode CMake调试QT无法查看源码问题处理

PDB文件:是一个包含调试信息的数据库,它由编译器和链接器在构建程序时生成。PDB文件记录了程序的调试信息,如变量类型、函数原型、源代码行号等,这些信息对于调试和性能分析非常重要。这种情况一般都是安装目录下没有。将其放到安装的目录下,如。再贴一个QT官网源码的。

2024-05-21 09:19:06 744

cmake,grpc与protobuf编译资源

cmake,grpc与protobuf编译资源

2025-01-16

VS Code C++可视化调试配置Qt5.natvis

QT查看调试信息插件,VS Code C++可视化调试配置Natvis

2024-01-24

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

TA关注的人

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