图形视图框架
Qt图形视图框架学习记录
贝勒里恩
用生命写代码,用灵魂做界面!
展开
-
关于QGraphicsItem的scenePos一直为(0,0)的解决方案
在使用Qt的图形视图框架添加图元时,因为我们的不当操作,可能会使得图元的场景坐标一直为(0,0)当我们需要使用场景坐标scenePos的时候就会达不到我们的需求。原创 2023-03-14 16:45:23 · 737 阅读 · 1 评论 -
Qt图形视图框架--精确选中连接线
在使用Qt图形视图框架进行组态软件开发过程中,我通过继承自QGraphicsPathItem自定义的连接线图元Arrow,发现点选连接线特别不灵敏;解决方案:重写函数。原创 2022-10-26 12:15:13 · 782 阅读 · 0 评论 -
Qt图形视图框架--图元总结
所有自定义图元都必须继承图元基类QGraphicsItem或其子类;自定义图元:添加枚举标识、重新三个虚函数1、标识图元每个图元都有一个枚举标识,例如路径图元的标识为:2在场景操作中当检测Type值为2时,就可以确定这个图元是一个路径图元;查看QGraphicsItem接口,可以发现Qt给开发者预留了标识:开发者使用标识UserTypepublic :enum {public :enum {}2、重写虚函数type()函数是用来返回图元类型的;原创 2022-10-26 11:49:32 · 1559 阅读 · 0 评论 -
QGraphicsView拖拽方案
在Qt的图形视图框架中,视图QGraphicsView是继承自QAbstractScrollArea,所以当场景QGraphicsScene比视图QGraphicsView尺寸要大的时候,就会出现滚动条(水平-垂直)。用户可以拖动滚动条来移动视图,查看场景的不同位置。但是通过移动滚动条有时候操作很麻烦、不顺手;而且带滚动条还不好看;所以我们可以去除滚动条,并重写视图QGraphicsView的鼠标事件来实现拖拽视图达到和滚动条同样的效果。原创 2022-10-26 10:50:44 · 2718 阅读 · 2 评论 -
QGraphicsScene绘制网格背景方法汇总
一、通过设置背景画刷-QPixmap的方法void ProjectScene::setGrid(){ if(showGrid) { //两条轴线 QPolygonF myPolygon1; myPolygon1 << QPointF(0, 0) << QPointF(0, 128); QPolygonF myPolygon2; myPolygon2 << QPointF(0, 0)原创 2021-09-03 15:30:05 · 4566 阅读 · 8 评论 -
学习QT之图形视图实例#-飞舞的蝴蝶
一、运行效果二、具体代码butterfly.h#ifndef BUTTERFLY_H#define BUTTERFLY_H#include <QObject>#include <QPainter>#include <QGraphicsScene>#include <QGraphicsView>#include <QGrap...原创 2020-03-22 00:11:36 · 1003 阅读 · 0 评论 -
学习QT之图形视图框架
Graphics View(图形视图)框架结构取代了之前版本中的QCanvas模块,它提供基于图元的模型/视图编程,类似于QtInterView的模式/视图结构,只是这里的数据是图形。一、图形视图体系结构1、Graphics View框架结构的主要特点Graphics View框架结构的主要特点如下:(1)、在Graphics View框架结构中,系统可以利用Qt绘图系统的反锯齿、OPen...原创 2020-03-21 21:21:32 · 1282 阅读 · 0 评论