#ifndef HMIELEMENT_H #define HMIELEMENT_H #include #include #include #include #include // 自定义矩形类,支持大小调整 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