48 lines
1.2 KiB
C
48 lines
1.2 KiB
C
|
|
#ifndef MYGRAPHICSGRIDITEM_H
|
||
|
|
#define MYGRAPHICSGRIDITEM_H
|
||
|
|
|
||
|
|
#include <QObject>
|
||
|
|
#include <QPainter>
|
||
|
|
#include <QGraphicsItem>
|
||
|
|
#include <QGraphicsScene>
|
||
|
|
#include <QGraphicsSceneMouseEvent>
|
||
|
|
#include <QPixmap>
|
||
|
|
#include <QPicture>
|
||
|
|
#include <QList>
|
||
|
|
#include <QtGui>
|
||
|
|
#include <QList>
|
||
|
|
|
||
|
|
class MyGraphicsGridItem : public QObject, public QGraphicsItem
|
||
|
|
{
|
||
|
|
Q_OBJECT
|
||
|
|
Q_INTERFACES(QGraphicsItem) //通知要实现的类构成何种界面的宏
|
||
|
|
|
||
|
|
public:
|
||
|
|
MyGraphicsGridItem(double gridSpacing,QRectF rect);
|
||
|
|
~MyGraphicsGridItem();
|
||
|
|
|
||
|
|
//绘图区域
|
||
|
|
QRectF boundingRect() const;
|
||
|
|
//绘制按钮图像的函数
|
||
|
|
void paint(QPainter *painter,
|
||
|
|
const QStyleOptionGraphicsItem *option,
|
||
|
|
QWidget *widget = 0);
|
||
|
|
QPointF getClosestFocus(QPointF point);
|
||
|
|
|
||
|
|
protected: //事件
|
||
|
|
void mousePressEvent(QGraphicsSceneMouseEvent* event);
|
||
|
|
void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
|
||
|
|
void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
|
||
|
|
|
||
|
|
private:
|
||
|
|
QList<double> m_listX;//X轴坐标点
|
||
|
|
QList<double> m_listY;//Y轴坐标点
|
||
|
|
QRectF m_boundingRect;//返回形状
|
||
|
|
double m_gridSpacing;
|
||
|
|
QRectF m_rect;
|
||
|
|
|
||
|
|
public slots:
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // MYGRAPHICSGRIDITEM_H
|