代码拉取完成,页面将自动刷新
#ifndef AIEXPANDGRAPHICSCENE_H
#define AIEXPANDGRAPHICSCENE_H
#include <QGraphicsScene>
#include <GraphicsBaseItem.h>
#include <QUndoStack>
class GraphicsView;
class GraphicsScene : public QGraphicsScene
{
Q_OBJECT
public:
GraphicsScene(GraphicsView* view, QObject* parent = nullptr);
~GraphicsScene();
void setSelectItem(GraphicsBaseItem* baseItem);
void addBaseItem(GraphicsBaseItem* baseItem);
void pushCommand(QUndoCommand* command);
void undo();
void redo();
void clearUndoStack();
GraphicsView* getView();
// 视图中心item
void setCenterItem(GraphicsBaseItem* centerItem);
GraphicsBaseItem* getCenterItem() { return m_centerItem; }
void isEnableItems(bool isEnable);
// test
void printInfo();
signals:
// test
void sigPositionInfo(const QPointF& scenePos, const QString& posInfo);
// 场景鼠标坐标
void sigSceneMousePos(const QPointF& scenePos);
// 扩图鼠标坐标
void sigBoxMousePos(const QPointF& scenePos);
// 扩图边界信息
void sigBoxInfo(const QString& posInfo);
// 图片边界信息
void sigImageInfo(const QString& posInfo);
protected:
virtual void drawBackground(QPainter* painter, const QRectF& rect)override;
void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent) override;
private:
QVector<GraphicsBaseItem*> m_baseItemChilds;
QUndoStack* m_undoStack = nullptr;
QPointF m_lastScenePos;
GraphicsView* m_view = nullptr;
// 视图中心item
GraphicsBaseItem* m_centerItem = nullptr;
};
#endif // AIEXPANDGRAPHICSCENE_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。