- 博客(19)
- 收藏
- 关注
原创 Qt实现图形绘制时橡皮筋的拖拽效果
橡皮筋式动态拖拽实现的基本思路:当图形一个点发生位置变动时,以该点作为一个端点的所有线段,重新进行绘制,或者说根据该点的位置变动重新绘制。具体实现的程序通过QGraphicsView架构实现,分别从QObject和QGraphicsItem类中继承出Node类(用于拖动)、Edge类(Node类对象位置变动时,Edge重绘)
2025-01-20 17:16:26
325
原创 实现QPushButton的拖拽效果
Qt自带的example中实现了QLabel的拖拽效果,如果用同样的方法在QPushButton的父对象类中,重写void mousePressEvent(QMouseEvent *event) override;QLabel是不会响应mousePressEvent事件的,QPushButton是直接响应此事件的,如果鼠标按下发生在QPushButton上,缺省情况下,是不能传递到其父对象的。DragButton头文件。,所以拖拽效果不会发生。
2024-11-22 09:08:21
292
原创 Qt中菜单使用xml内容进行创建
菜单是一种具有层次结构的控件,其子项同样适合用xml文件存储。我写了一个类XmlMenuBar,从QMenuBar和ReadWriteXml两个类中派生。,该类可以实现依据xml文件生成菜单,重用性和维护性很强,可以提高编码效率。
2024-10-08 13:58:41
171
原创 QTreeWidget的Item根据xml文件创建
由于ReadWriteXml中引用了读写xml的第三方类,文件较多,单独进行了上传,见。QTreeWidget作为一个树形控件,若是每一个项(QTreeWidgetItem)通过手写代码进行创建,较为麻烦,尤其层数较多的情况下,且无重用性。若将树形控件所挂内容编写在xml文中,xml文件正好是一个存储树形数据的文本文件,用来保存QTreeWidget的配置信息,再合适不过。上代码,以下是我自己写的一个如何从xml文件读取树形数据(或者说是具有层次的数据)并在QTreeWidget控件上创建Item的类。
2024-09-30 10:30:30
232
原创 Qt实现标准渐开线齿轮绘制
重写QGraphicsItem类,实现了标准渐开线圆柱齿轮的绘制,看代码如下,包含一下文件,在自己的程序中可直接使用。
2024-09-20 13:47:17
320
原创 Qt实现仪器仪表中的刻度循环移动
将循环移动的整幅图像绘制在QImage中,显示固定范围,将图像中像素数据循环移动,更新显示,即可实现循环移动的效果。从 QGraphicsObject派生出GraphItem,以便可以使用信号和槽,如下所示。有些仪表中,需要刻度能循环移动,比如显示角度的仪表,需要刻度循环移动如下视频所示。本文讲述如何用QGraphicsItem实现以上视频中的刻度循环移动。3、利用QImage操纵像素的方法,使图形中的像素循环移动。1、在QImage上均匀绘制出完整的刻度图形。完整代码可下载绑定资源。
2024-09-08 22:16:39
351
原创 QWidget的geometry()和rect()两个成员函数的区别
geometry()和rect()两个函数的返回值均为QRect类型,表达的意义完全不同。
2024-08-14 15:26:18
546
原创 QComboBox Delegate 实现的Example
在基类QItemDelegate基础派生出ComboDelegate,实现QComboBox的编辑委托,并演示了该类如何使用
2024-07-02 18:18:30
265
原创 C++实现的二叉树模板及其应用实例(二叉树图形绘制)
该程序菜单的生成使用了xml文件,请修改代码或将xml文件放置构建目录的适当位置。20241210_201046二叉树。以下视频是本文绑定资源的运行效果。bintreenode.h文件。本例中使用的xml文件如下所示。binarytree.h文件。
2024-05-10 15:24:23
307
原创 QGraphicsItem实现仪器仪表盘中旋转型滑块
如以下视频所示,仪器仪表中经常使用可以一个旋转滑动的三角形游标作为控制部件。QGraphicsItem在缺省情况下,运动是随意的,因此限制需要限制其运动为绕定点旋转的圆周运动。
2024-04-25 09:20:49
409
原创 QGraphicsItem实现仪器仪表盘中直动型滑块
如以下视频所示,仪器仪表中经常使用可以一个直线滑动的三角形游标作为控制部件。QGraphicsItem在缺省情况下,运动是随意的,因此限制其在一个方向移动,并限制其移动范围。Qt实现的仪器仪表类控件演示。
2024-04-23 11:00:05
525
原创 实现多种图形绘制功能(多个QGraphicsView分别实现一种绘图功能)
场景是不可见的,是一个抽象的管理图形项的容器,可以向场景中添加图形项,获取场景中图形项等,可以类比。QGraphicsView类负责就是用来提供绘图框架中的视图,可以为同一个场景提供多个不同的视图,用于对同一数据集提供不同的视口,初学QtGraphicsView绘图架构时,我还纳闷,为同一数据及提供不同的视图,每个视图上呈现的图形是完全一样的,能有什么用呢?8)每次完成一次绘图过程,setCurrentWidget为QGraphicsView类视图对象,不能绘制图形,仅用来显示即可。
2024-04-17 20:06:25
1828
原创 QPainter类中绘制圆弧drawArc函数详解
详细介绍QPainter类中void QPainter::drawArc(const QRectF &rectangle, int startAngle, int spanAngle)函数的使用方法
2023-10-12 15:52:54
2686
原创 Qt去除图片中白色背景
在使用 Qt 进行图像处理后,你可以使用 QImage 的 save() 函数将图像保存到文件中。要将图片中的白色变为透明,可以使用 Qt 提供QImage类实现这一图像处理功能。
2023-07-14 10:04:41
968
1
原创 实现QPushButton切换不同背景颜色的类
实现了一个可以方便切换按钮背景颜色的类,这个类的功能主要有,只要设置你需要切换的不同颜色列表,然后只要给出颜色在列表中的索引值,就可以切换颜色
2023-05-30 15:26:35
5070
1
原创 QGraphicsItem成员函数setPos()详解
此函数不仅指明了绘图区域,也根据QRectF类型数据的指定的矩形区域,隐藏性地指定了局部坐标系的原点。函数的重写是指定绘图区域的,同时也确定了绘图局部坐标的原点位置。若设置setPos(100,100),则该Item的(0,0)点的位置,即。若设置setPos(100,100),则该Item的(0,0)点的位置,即。若调用这个类的话,会绘制出一个矩形,矩形的左上角在(100,100)。若调用这个类的话,会绘制出一个矩形,矩形的中心在(100,100)。,item的原点(0,0)在其左上角位置。
2023-05-18 14:54:47
3064
1
原创 计算两个平面向量之间的转角及Qt代码实现
用QGraphicsView、QGrapphicsScene、QGraphicsItem绘图架构实现仪表盘的旋转角标
2023-05-16 17:10:00
1022
3
原创 Qt实现XML的读写
本文用实例讲述Qt读取xml文件的方法,固定套路写入一个文件,自己使用时,引用.h .cpp,重写自己的读数据代码即可,也向读者展示了纯虚函数的使用
2023-03-10 14:38:18
1163
Qt各种仪器仪表用控件实现及演示
2024-09-26
Qt基于QGraphicsView绘图架构实现不同图形(多边形、圆形、矩形)的动态绘制(所见即所得)
2024-04-20
用Qt实现标尺型仪表和圆盘型仪表核心代码,直动滑块和旋转滑块的实现
2023-09-19
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人