4 Star 42 Fork 40

falion / QtDrawRegion

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
ControlItem.h 1.60 KB
一键复制 编辑 原始数据 按行查看 历史
falion 提交于 2022-08-24 21:51 . no commit message
#ifndef CONTROLITEM_H
#define CONTROLITEM_H
/************************************************************************
* @auther :
* @date : 2021-4
* @description : 控制点
* ROI模块中美的控制点
* 中心点ju'xin矩形 点击后可移动
* 控制点圆形、点击后可以拖动
************************************************************************/
#include <QObject>
#include <QAbstractGraphicsShapeItem>
#include <QPointF>
#include <QPen>
#include <QPainter>
#include <QGraphicsSceneMouseEvent>
#include <QGraphicsScene>
#include <QCursor>
#include <QKeyEvent>
#include <QList>
#include <QDebug>
class ControlItem : public QObject, public QAbstractGraphicsShapeItem
{
Q_OBJECT
public:
explicit ControlItem(QGraphicsItemGroup* parent, QPointF p, int type, int style=1);
QPointF GetPoint();
QPointF GetBefPoint(){return BefPoint;}
void SetPoint(QPointF p);
qreal dX(){return dx;};
qreal dY(){return dy;};
int index=0;
int Style=1;
protected:
virtual QRectF boundingRect() const override;
virtual void paint(QPainter *painter,const QStyleOptionGraphicsItem *option,QWidget *widget) override;
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
virtual void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
private:
QPainterPath ItemPath;
QPen myPen = this->pen();
QPointF point;
int pointType;
qreal dx;
qreal dy;
QPointF BefPoint;
private:
qreal RecSize;
qreal PointSize;
};
#endif // CONTROLITEM_H
C++
1
https://gitee.com/falion/qt-draw-region.git
git@gitee.com:falion/qt-draw-region.git
falion
qt-draw-region
QtDrawRegion
master

搜索帮助