PlotterHMI/datafile/view/mygraphicsitem.h

53 lines
1.4 KiB
C
Raw Normal View History

2024-02-06 06:19:53 +00:00
#ifndef MYGRAPHICSITEM_H
#define MYGRAPHICSITEM_H
#include <QObject>
#include <QPainter>
#include <QGraphicsItem>
#include <QGraphicsScene>
#include <QGraphicsSceneMouseEvent>
#include <QPixmap>
#include <QPicture>
#include <QList>
#include <QtGui>
#include "machine/bmp/creatprintbmp.h"
#include "datafile/view/drawdata.h"
2024-02-06 06:19:53 +00:00
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:
2024-03-22 07:58:53 +00:00
CreatPictureStr m_pictureStr;
2024-02-06 06:19:53 +00:00
QPixmap m_blockPixmap;
QPoint m_point;
QRectF m_boundingRect;//返回形状
public:
2024-03-22 07:58:53 +00:00
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);
2024-02-06 06:19:53 +00:00
void setPicture(QPicture pic);
void reflushBlockPos(QPoint p);//更显打印块位置
public slots:
};
#endif // MYGRAPHICSITEM_H