|
- #ifndef HMIELEMENT_H
- #define HMIELEMENT_H
- #include <QGraphicsRectItem>
- #include <QGraphicsEllipseItem>
- #include <QGraphicsSceneMouseEvent>
- #include <QPen>
- #include <QBrush>
-
- // 自定义矩形类,支持大小调整
- class ResizableRectangle : public QGraphicsRectItem
- {
- public:
- // 构造函数
- ResizableRectangle(qreal x, qreal y, qreal w, qreal h);
-
- protected:
- // 鼠标按下事件
- void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
-
- // 鼠标移动事件
- void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
-
- // 鼠标释放事件
- void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
-
- private:
- bool resizing; //是否正在调整大小
- };
-
- // 自定义圆形类,支持大小调整
- class ResizableEllipse : public QGraphicsEllipseItem
- {
- public:
- // 构造函数
- ResizableEllipse(qreal x, qreal y, qreal w, qreal h);
-
- protected:
- // 鼠标按下事件
- void mousePressEvent(QGraphicsSceneMouseEvent *event) override;
-
- // 鼠标移动事件
- void mouseMoveEvent(QGraphicsSceneMouseEvent *event) override;
-
- // 鼠标释放事件
- void mouseReleaseEvent(QGraphicsSceneMouseEvent *event) override;
-
- private:
- bool resizing2; // 是否正在调整大小
- };
- #endif // HMIELEMENT_H
|