- 博客(23)
- 收藏
- 关注

原创 Qt中利用可部分擦除的Item在Scene中搭建白板的画笔、橡皮擦等功能的设计思路
描述了如何利用设计好的可部分擦除的Item之上,构建一个利用其可部分擦除的特性设计一个具有钢笔、荧光笔、橡皮擦、撤销/重做等功能的Scene来管理这些Item。
2024-09-10 22:42:38
1464
17
原创 C++日志系统实现(一)
就是给该系统一个字符串(日志信息),然后它会将日志信息和其他信息,如:日志记录所在的文件名以及行号、日志等级、记录发生的时间等等信息,一起输出到某个特定的位置。并且由于图片的链接指向的是我自己的电脑上的图片,因此这些博客平台的服务自然是无法找到的。最近我在自己的电脑上编写文章的时候,我发现一个问题:在本地编写的文章如果要通过复制粘贴的方式上传到CSDN、博客园等等平台上时,本地的图片无法一键上传上去。首先我要搞清楚自己对于日志系统的需求是什么,明确好这个系统的范围,以免做一些无意义的事。
2025-05-04 13:23:31
1042
原创 Windows环境下VSCode配置Qt开发环境
AI时代下,没有AI辅助编程能力的QtCreator落伍于时代,而VSCode具有丰富的AI插件。使用VSCode搭建Qt运行环境替换QtCreator。
2025-02-25 15:13:20
2957
3
原创 CMake的QML项目中使用资源文件
然后,使用/qt/qml/你的项目名/images/login_background.jpg来引用,这会导致引用图片的代码和Qt版本强相关(因为不同的Qt版本QML所在的资源文件前缀不同)。在QtWidgets的项目中,我们一般是创建.qrc资源文件,然后创建前缀/new/prefix,再往该前缀中添加一个图片文件,比如:test.png。但请注意,不同的Qt版本,资源文件的前缀可能是不一样的,因此这需要根据版本进行相应的修改(直接看它怎样生成的)。但在QML中,情况发生了改变。
2025-02-03 18:33:41
650
原创 Linux下构建OpenEuler22.03+Nginx的Docker镜像
采用这种方法的好处,我们不再需要在宿主机中安装各种工具,这些工具可能含有依赖,并且一旦安装可能还卸载不干净。这些我们用不到的工具就会白白占用空间。我们可以看到,相较于从DockerHub上拉取下来的nginx,这种方法构建的nginx似乎内存空间占用非常大。查看Linux的IP,然后使用浏览器去访问一下该IP的HTTP服务,看看Nginx容器是否成功运行。可以看到,这下nginx的空间占用终于是小下来了,而不是安装了工具之后的600多MB的SIZE。是我在构建镜像是指定的版本,可能和你构建的不一样。
2025-01-19 03:17:55
1083
原创 自己编写甘特图的绘制程序
考虑到数据量不会太过复杂,所以这里采用所有任务都需要进行统一的运算,也就是说,我会将所有任务都打包送给某个对象进行处理,处理完成之后,外界可以从该对象获取处理完成的信息。如果原来的任务有任何一个发生变化,那么就需要对所有任务进行的坐标信息之类的进行修改,因此,任务越多,计算任务就越繁重。这是一种不好的设计,我认为不应该这样做。关于甘特图的总高度和总宽度,我们可以通过动态统计它们,从而不需要重新计算所有任务。
2024-12-27 15:33:39
1240
原创 Windows使用Docker部署OpenGauss
在无法拉取OpenGauss的时候,使用OpenEuler + OpenGauss自行构建OpenGauss镜像
2024-12-23 11:45:15
1816
原创 关于数据流图绘制和使用上的一些个人经验
假设我们需要开发一个项目进度管理系统,在这个项目进度管理系统之中,我们需要开发一个功能:项目成员的列表。我们具有这样的业务需求:在项目进度管理系统中,我们需要知道参与项目的人员到底有哪些,并且项目的创建者还需要对这些项目的参与人员在项目中的权限进行管理。在这个列表中,项目的成员可以查看其他成员的信息,也可以修改自己在项目中的名称。这份业务需求实际上是非常简单的,但是我们具体该如何将业务需求转化为数据流图呢?
2024-12-20 17:22:53
1268
原创 Qt-GraphicsView框架中环绕着图元的图元选择控制器的实现原理探讨
主要就“如何使得图元环绕在其他图元四周,并且这个环绕效果会根据选择的图元的不同而环绕在不同的图元之上”这个问题进行一些理论上的探讨
2024-11-24 15:14:37
921
原创 Qt-多个Widget连续展示的布局管理器
本文阐述在Qt中实现多页连续的布局管理器的一种方式。写作本篇文章是因为我一开始希望寻找一篇介绍Qt中多页连续布局的相关文章,但是网络上关于多页连续布局的文章寥寥无几。仅有的几篇文章都是教我如何将图片绘制在同一个窗口上,也就是将图片或者其他什么Pixmap,Pdf文档渲染出来的东西的多页连续布局。而这些东西不是一个可操作单位,我当然可以用QPainter将其随意绘制在同一个widget上。为了解决上述问题,我想到了使用布局管理器。因为布局管理器可以调整子widget的绘制位置的同时,保持事件传递的逻辑。
2024-09-26 14:32:39
928
原创 Qt-实现自定义的布局管理器(同时浅浅地探究布局实现的原理)
探究Qt中布局管理器之所以能对子Widget进行“布局”的原理,同时探讨如何实现自定义的布局管理器。
2024-09-24 18:02:34
810
原创 Qt-图片查看器-改进2型
改进2型在改进1型的基础上,添加了图片的缩放功能,并且这个缩放是用鼠标滚动进行操作的放大和缩小以鼠标指向的图片的位置为缩放中心的缩放。这里的缩放功能考验的更多是坐标运算的能力。。
2024-09-18 13:08:20
1031
原创 Qt-图片查看器-改进1型
这个图片查看器,它能做到本来可以展示整个图片,但是它就是只给你展示九分之一。你可以通过移动看到全部区域,但是你同一时间只能看到1/9的图片区域。
2024-09-17 23:49:06
792
原创 拷打Qt中的图片缩放功能
我们从简单的缩放入手,逐步了解如何对图片进行缩放。然后实战演练一个查看图片的需求,推导出了实现图片查看器的核心代码,最终探讨了一下利用这串核心代码进行功能扩展的可能。希望这篇文章对你了解图片的缩放有帮助。
2024-09-15 19:35:05
1385
原创 Qt中利用GraphicsView实现可部分擦除的Item的思路解析
一切都是需求分析错误导致的灾难在我为了实现画曲线效果的时候,我确实详细学习过的每一个接口的功能。在我实验的时候,我发现它规定只有填充区域之间才能够进行一系列的相交等操作,它无法对直线与直线之间,直线与填充区域之间进行相交操作。于是我认为,无法通过的接口完成擦除功能,因为它没有办法检测线与擦除区域之间的相交。后来,我实践了第二种方法,发现这样完成的笔画线及其复杂,时间和空间复杂度都极其高。于是,从性能角度来看,我认为这种方式实现可擦除的笔画Item不可取。通过缩小点Item的粒度来减少性能损耗。
2024-09-09 21:59:21
1327
空空如也
Blender中的擦除工具
2024-10-17
TA创建的收藏夹 TA关注的收藏夹
TA关注的人