自定义博客皮肤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

靡不有初鲜克有终

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

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

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

2024-07-18 23:37:34 349

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

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

2024-07-18 10:51:43 195

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

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

2024-06-03 11:26:24 1789 7

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

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

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

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

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

2024-05-24 21:26:48 965

原创 Visual Studio Code插件

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

2024-05-24 17:27:30 412

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

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

2024-05-23 15:31:13 443

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

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

2024-05-21 09:19:06 392

原创 Qt中的处理图像的类介绍以及QPixmap、QImage、QSvgRenderer间转换

QSvgRenderer本身并不直接存储图像数据,它是一个用于渲染SVG图像的类。要将SVG图像渲染为QPixmap,可以使用QPainter来绘制QSvgRenderer的内容到一个空的QPixmap上。在Qt中,QPixmap、QImage和QSvgRenderer之间可以相互转换,以便在不同的场合使用。要将QImage转换为QPixmap,可以使用QPixmap的构造函数,该构造函数接受QImage作为参数。

2024-05-21 09:15:43 1066

原创 cmakelist 编译源码生成动态静态库并链接到项目

当我们使用vscode编译c++代码时,需要加入第三方代码,而它没有库时。这时候我们就需要自己写一个Cmakelist编译成库,然后链接到自己的项目上

2024-05-20 14:21:16 1031

原创 QTreeView中item节点任意拖拽移动,添加,删除与自绘指示器

QTreeView中item节点任意拖拽移动,添加,删除与自绘指示器,拖拽事件dragEnterEvent,dragMoveEvent,mimeData,dropMimeData,mimeTypes,supportedDropActions处理,DropIndicatorPosition使用,QProxyStyle自定义实现

2024-05-20 14:15:34 1782

原创 SQL常用语句与事务介绍

事务的这些特性保证了数据库的可靠性和一致性。在数据库操作中,尤其是涉及金融、库存管理等对数据准确性要求极高的场景,事务的处理尤为重要。例如,在银行转账操作中,从账户A扣除金额和向账户B增加金额必须作为一个事务来处理,确保不会出现A账户扣款成功而B账户加款失败的情况,从而保证数据的一致性。

2024-05-01 21:30:19 715 1

原创 QT 使用QLsitView 实现数据的分组多级显示,子列表可动态显示/隐藏

在QT中多级显示应该是QTreeView该干的事,但是当我们还需要图标显示的时候,也就是QTreeView就无法满足了。描述下核心思想:整体分为俩层结构,都是继承于QWidget。最上层为一个QWidget,用于存放所有第二级的QWidget。第二层为QWidget,就也是所看到的每一个组。里面都有一个QListView,用于控制隐藏/显示,看似为一个按钮,其实也是一个QWidget。也就是说整体就是有多个组拼起来的,而每个组中都有一个QListView和按钮,从而形成多级结构。

2024-04-30 11:18:14 780

原创 simulink使用俩种方式封装(mask)画板/子系统的步骤

中的属性表里面就可以选择对应的。搭建一个简易的加法模型 ,

2024-04-24 14:37:20 725

原创 Simulink封装(mask)功能介绍

参数约束:约束确保封装参数的输入在指定的范围内。例如,假设有一个封装的 Gain 模块。交叉参数约束:交叉参数约束应用于两个或更多的编辑或组合框类型的封装参数。搜索所需的模块,然后点击复制封装以从现有模块导入封装定义。初始化回调在这里,可通过命令函数可设置系统参数初始值设定,可对图标绘制函数的初始值进行设置等。通过Icon选项卡,用户可以创建具有特定形状、颜色和文本的图标,以便更轻松地识别和管理模块。端口约束:对封装模块的输入端口和输出端口指定约束。可以多层封装,再次封装时,封装的参数为以封装的控件参数。

2024-04-24 14:28:02 1935

原创 qt camkelist编写实现程序运行时动态加载库并访问其函数

在使用C++和Qt进行项目开发时,CMake是一个常用的跨平台构建系统生成工具,它能够管理构建过程,生成Makefile或者项目文件。*:将解析得到的函数指针转换为Init类型。这里Init是通过decltype获取的exprotFunc函数的类型。:尝试在加载的DLL中解析名为exprotFunc的函数。如果解析成功,返回该函数的函数指针。这里的a, b, c应该是传递给函数的实际参数。:创建了一个QLibrary对象,并指定了要加载的DLL的路径。:在调用完函数后,卸载DLL。是库文件所在的目录。

2024-04-18 17:15:49 1162

原创 【笔记】编写cmakelist的常用命令含义及使用

编写cmakelist的常用命令含义及使用

2024-04-18 11:34:01 568

原创 c++ 反射与QMetaObject::invokeMethod介绍

C++语言标准本身并不直接支持反射机制,这与Java、C#等语言不同,它们在语言层面提供了丰富的反射API。然而,C++是一种非常灵活的语言,可以通过一些设计和编程技巧来实现类似反射的功能,QMetaObject::invokeMethod== 是 Qt 框架中一个非常强大且灵活的函数,它允许你在运行时动态地调用一个对象上的方法。这是基于 Qt 元对象系统的反射能力实现的。

2024-04-07 14:52:48 1301

原创 Doxygen生成文档的教程

Doxygen是一个开源的文档生成工具,主要用于从源代码文件中提取注释并生成文档。它支持多种编程语言,包括C++, C, Java, Python, PHP等。Doxygen能够识别特定的注释格式,并根据这些注释生成漂亮的文档,文档可以输出为HTML, LaTeX, RTF, XML等多种格式。Doxygen通常被开发人员用于编写和维护项目文档,特别是开源项目,以帮助其他开发人员理解和使用代码库。Graphviz:Doxygen可以使用Graphviz来生成更为复杂的图形,如调用图和类继承图。

2024-04-07 13:47:24 1165

原创 一文带你理解完Git知识点

Git 是一个分布式版本控制系统,用于追踪文件的更改和协助多人合作开发。在 Git 中,有几个核心概念需要理解,包括工作区(Workspace)、暂存区(Staging Area,也称作索引 Index)和版本库(Repository)。Git 提供了一个有效的机制来管理文件的修改历史,支持多人协作,并且可以方便地撤销错误的改动。

2024-04-07 10:54:07 1387

原创 QT 实现无边框可伸缩变换有阴影的QDialog弹窗

【代码】QT 实现无边框可伸缩变换有阴影的QDialog弹窗。

2024-04-03 11:37:30 804

原创 QT 使用QXmlStreamReader/QXmlStreamWriter和QDomDocument俩种方式读写XML文件

如果你的应用程序需要遍历大型 XML 文档,或者只需要进行只读或只写的操作,那么 `QXmlStreamReader`/`QXmlStreamWriter` 可能是更好的选择,因为它们更高效且资源消耗更少。- 如果你的应用程序需要频繁地修改 XML 文档,或者需要随机访问文档中的元素,那么 `QDomDocument` 可能更适合,因为它提供了更灵活的 API 来操作文档。

2024-04-03 09:33:05 1326

原创 QT 使用QMediaPlayer实现的简易视频播放器

`Multimedia`:提供了一套用于处理音频、视频、摄像头和广播数据的`MultimediaWidgets`:提供了一些与多媒体相关的图形界面组件。`QVideoProbe`是Qt多媒体模块中的一个类,它用于监控视频流的输出。使用 `QMediaPlayer`时,通常需要将其与一个或多个媒体输出组件结合使用,例如`QVideoWidget`用于视频播放,`QAudioOutput`用于音频播放。

2024-04-02 11:24:08 2395 3

原创 Qt 使用QPropertyAnimation动画效果的图片浏览器

图片浏览器,使用QPropertyAnimation进行属性的设置从而达到一种动画效果。滚轮/点击切换图片,自定义图片行为。

2024-04-02 09:55:06 384

原创 Qt QListwidget与QStackedWidget或QTabWidget实现多界面切换的效果

QStackedWidget是Qt中的一个容器控件,它可以用来管理和切换多个子控件,配合其他控件可以达到切换不同界面的效果

2024-03-10 16:21:00 1171

原创 c++ 常用新特性总结【c++11】,【c++14】,【c++17】,【c++20】

一文总结了c++常见的新特性,在c++推出的新特性中,c++11无疑是最具影响力的,其次是c++17与c++14。

2024-03-08 13:24:39 1761

原创 Qt 自绘进度条 QProgressBar使用

是Qt框架中提供的一个控件,用于在界面上显示任务的进度。它通常用于向用户展示一个操作完成的百分比,比如文件复制、数据加载等操作的进度。的主要特性:范围和值:QProgressBar有一个最小值(minimum)和一个最大值(maximum),以及一个当前值(value)。进度条的显示范围从最小值到最大值,当前值表示任务的完成程度。文本显示:进度条可以显示文本,比如当前值、百分比或者自定义的文本。你可以通过函数来控制文本的显示,以及通过函数来设置文本的格式。

2024-03-08 11:53:54 1788

原创 一文带你Qt数据库从入门到实战

一文带你实战qt数据库,使用到了类有SQSqlTableModel,QDataWidgetMapper,QSqlDatabase,QItemSelectionModel等以及多个常见的窗口控件

2024-03-07 11:56:03 1152

原创 c++ 多种字符串排序使用

多种字符串排序,1.先比较长度,长度一致时比较字典序,字典序一致时再比较后面的数字2. 去重排序

2024-03-05 17:49:24 1084

原创 python-自动监测博主发布最新文章时,自己发布评论。实时获取微博最新热搜。

这个脚本针对的是个例,只对CSDN的博主有用,毕竟每个网站的html不一样,这个需要具体分析的。这是对个人当天最新文章进行评论,当然,想改从那种把所有文章水评一遍,或者把热榜的文章都水评一遍也是可以写出来的,应该也不会很复杂。获取微博热搜那个函数倒是可以单独作为一个通用的脚本。

2024-02-28 16:26:43 369

原创 Qt 场景(QGraphicsScene)自绘可自由变换与移动的图元(QGraphicsObject)

绘制一个图元矩形,可以自由拖动且拖动四个角可以自由变换矩形,paint,boundingRect,shape等函数的综合使用。

2024-02-21 16:37:11 816 2

原创 QGraphicsScene中显示GIF动图,GIF图片在场景中移动

QGraphicsScene中显示GIF动图,并且使得GIF图片在场景中运动。

2024-02-04 18:46:42 546 2

原创 QT使用QFileSystemModel实现的文件资源管理器(开源)

文件资源管理器:支持文件/文件夹拖拽,复制,粘贴,剪切,删除,重命名的基本操作,支持打开图片,文档等资源,支持文件显示详细信息,支持文件路径导航

2024-01-29 17:48:27 2282

原创 VsCode CMake调试QT QString等变量不显示具体值,调试中查看qt源码 (可视化调试配置Natvis)

VsCode CMake调试QT QString字符串等变量不显示具体值的问题处理,使用vscode调试中如何查看qt源码 问题处理

2024-01-24 15:02:59 1378 3

原创 个人实现的QT拼图游戏(开源),QT拖拽事件详解

这个游戏的用了周末俩天时间做完,后面用了一天修了点BUG,细节还是很多的,像计时器如何使用,富文本内容如何显示,弹窗的事件处理等,主要还是用于理解拖拽事件,当然你也可以直接去看QT 的demo,那个没我这么复杂,搜drag就行,不过它那个有几个明显的问题,我这都优化了。

2024-01-16 15:08:07 1429

原创 window与Linux设置SSH公钥方法,解决Git无法拉取上传代码问题之一

对于开源仓库,设置SSH公钥可以帮助开发者在没有输入用户名和密码的情况下,快速、安全地与远程仓库进行通信。无论远端仓库是私有的还是开源的,都可以使用SSH公钥来进行身份验证。SSH公钥可以用来在本地和远程仓库之间建立安全的通信连接,确保只有授权的用户才能对仓库进行操作。另外,对于私有仓库,设置SSH公钥同样可以提高安全性,确保只有授权的用户才能访问和操作仓库,从而保护代码和数据的安全。-global是全局设置,其他仓库也会应用该设置,如果仅设置本仓库可去除该参数。当我们在新的设备上使用。

2024-01-15 13:54:12 1240

原创 QT中QTableView与QTreeView的联合使用(委托、代理、视图)

窗口中左侧为树状结构,右侧为表格结构,对树可以增删查操作,对表可以增删改操作。

2024-01-02 17:55:00 1560

原创 【笔记】Qt 元对象系统、信号和槽及事件

receiver:指向接收事件的对象,event:表示需要发送的事件,priority:表示事件的优先级,高优先级的事件排在队列的前面发送事件(sendEvent)与发布事件(postEvent)发布(post)事件:把事件添加到事件队列中,并立即返回。发布事件必须在堆(比如使用 new)上创建事件,因为事件被发布后,事件队列将获得事件的所有权并自动将其删除。发布事件后再访问该事件是不安全的。

2023-10-07 16:53:32 315

原创 【笔记】QT坐标转换(QTransform 类)

返回此矩阵的逆矩阵,若矩阵是奇异的(非可逆的),则返回的矩阵是单位矩阵,若参数invertible 有效(即不为 0),则若矩阵可逆,则将其设置为 true,否则将其设置为 false。设置世界变换矩阵,若 combine 为 true,则把当前矩阵与 transform 组合,否则 transform会取代当前矩阵。若 enable 为 true 则启用世界转换,否则禁用世界转换,世界变换矩阵不会改变。若矩阵表示的是仿射(affine)变换,则返回 true,否则返回 false。与 scale();

2023-09-21 16:24:35 2120

原创 【笔记】QT2D绘图详解(直线,矩形,椭圆,折线,路径,文本)

QPaint绘制函数详解

2023-09-13 17:06:49 1633

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

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

2024-01-24

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

TA关注的人

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