代码拉取完成,页面将自动刷新
#ifndef DIAGRAMSCENE_H
#define DIAGRAMSCENE_H
#include <QObject>
#include "rectitem.h"
#include "lineitem.h"
#include "textitem.h"
#include "mainwindow.h"
#include "ellipseitem.h"
#include <QGraphicsScene>
QT_BEGIN_NAMESPACE
class QGraphicsPolygonItem;
class QGraphicsScene;
class QGraphicsSceneMouseEvent;
class QPaintEvent;
class QPointF;
class QWidget;
QT_END_NAMESPACE
class DiagramScene
: public QGraphicsScene
{
Q_OBJECT
public:
enum Mode
{
InsertCircleItem, InsertRectItem, InsertLineItem, InsertTextItem, MoveItem
};
DiagramScene(QObject *parent = nullptr);
void setMode(Mode mode);
void setStartPoint(QPointF point);
void setItemColor(const QColor &color);
void setLineColor(const QColor &color);
void setLineWidth(const int width);
void setTextColor(const QColor &color);
void setFont(const QFont &font);
QFont font() const
{ return myTextFont; }
GroupItem *myCreatItemGroup(const QList<QGraphicsItem *> &items);
void myDestroyItemGroup(GroupItem *group);
public slots:
void cut();
void copy();
void paste();
bool writeFile(QFile &file);
bool readFile(QFile &file);
void editorLostFocus(TextItem *item);
signals:
void itemSelected(QGraphicsItem *item);
protected:
void mousePressEvent(QGraphicsSceneMouseEvent *mouseEvent);
void mouseMoveEvent(QGraphicsSceneMouseEvent *mouseEvent);
void mouseReleaseEvent(QGraphicsSceneMouseEvent *mouseEvent);
private:
bool isItemChange(int type);
QColor myItemColor;
QColor myLineColor;
int myLineWidth;
EllipseItem *circle;
RectItem *Rect;
LineItem *line;
TextItem *textItem;
QPointF startPoint;
Mode myMode;
QColor myTextColor;
QFont myTextFont;
//signals:
//void itemMoved(DiagramItem *movedItem,const QPointF &movedFromPosition);
};
#endif // DIAGRAMSCENE_H
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。