PlotterHMI/datafile/view/mygraphicsitem.h
2024-02-06 14:19:53 +08:00

55 lines
1.3 KiB
C++

#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/hpgl/importhpgl.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);
void creatPicture(Marker marker);
void creatPicture(QPixmap pixmap);
protected: //事件
void mousePressEvent(QGraphicsSceneMouseEvent* event);
void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
private:
QPicture m_picture;
QPixmap m_blockPixmap;
QPoint m_point;
QRectF m_boundingRect;//返回形状
public:
QPicture getPicture(Marker marker,int penWidth = 1);
void setPicture(QPicture pic);
void reflushBlockPos(QPoint p);//更显打印块位置
public slots:
};
#endif // MYGRAPHICSITEM_H