1 Star 0 Fork 0

yuwei/myGraphics

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
GraphicsScene.h 1.46 KB
一键复制 编辑 原始数据 按行查看 历史
yuwei 提交于 2024-08-20 20:04 . 整理代码
#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
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/yuwei_2_838529949/my-graphics.git
[email protected]:yuwei_2_838529949/my-graphics.git
yuwei_2_838529949
my-graphics
myGraphics
master

搜索帮助