#ifndef MYGRAPHICSITEM_H #define MYGRAPHICSITEM_H #include #include #include #include #include #include #include #include #include #include "machine/bmp/creatprintbmp.h" #include "datafile/view/drawdata.h" class MyGraphicsItem : public QObject, public QGraphicsItem { Q_OBJECT Q_INTERFACES(QGraphicsItem) //通知要实现的类构成何种界面的宏 public: MyGraphicsItem(); ~MyGraphicsItem(); //绘图区域 QRectF boundingRect() const; //绘制按钮图像的函数 void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget = 0); protected: //事件 void mousePressEvent(QGraphicsSceneMouseEvent* event); void mouseMoveEvent(QGraphicsSceneMouseEvent* event); void mouseReleaseEvent(QGraphicsSceneMouseEvent* event); private: CreatPictureStr m_pictureStr; QPixmap m_blockPixmap; QPoint m_point; QRectF m_boundingRect;//返回形状 public: CreatPictureStr getPictureByDat(Marker marker,int paperWidth,int butSpace,int rightSpace,int penWidth = 1); CreatPictureStr getPictureByBmp(QPixmap pixmap,int paperWidth,int butSpace,int rightSpace,int penWidth = 1); void setPicture(QPicture pic); void reflushBlockPos(QPoint p);//更显打印块位置 public slots: }; #endif // MYGRAPHICSITEM_H