3500/MyCustomGraphicsItem.h

50 lines
1.3 KiB
C
Raw Normal View History

2023-04-14 19:30:30 +08:00
#ifndef MYCUSTOMGRAPHICSITEM_H
#define MYCUSTOMGRAPHICSITEM_H
#include <QObject>
#include <QWidget>
#include <QMouseEvent>
#include <QGraphicsScene>
#include <QGraphicsRectItem>
#include <QGraphicsSceneMouseEvent>
#include <QRect>
#include <QPainter>
#include <QPolygon>
#include <QList>
#include <QTransform>
class CMyCustomGraphicsItem : public QObject , public QGraphicsItemGroup
{
Q_OBJECT
public:
explicit CMyCustomGraphicsItem(QObject *parent = nullptr);
// void mousePressEvent(QGraphicsSceneMouseEvent *event);
// void mouseMoveEvent(QGraphicsSceneMouseEvent *event);
// void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
void mouseDoubleClickEvent(QGraphicsSceneMouseEvent *event);
void wheelEvent(QGraphicsSceneWheelEvent *event);
signals:
void doubleclick(QGraphicsSceneMouseEvent *event);
public slots:
};
2023-10-19 14:15:31 +08:00
class LineItem : public QGraphicsItem
{
public:
LineItem();
//最大显示范围的设置默认为30
float maxX();
void setMaxX(float value);
public:
QRectF boundingRect() const;
void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
void mousePressEvent(QGraphicsSceneMouseEvent *event);
private:
//显示范围
float m_maxX;
};
2023-04-14 19:30:30 +08:00
#endif // MYCUSTOMGRAPHICSITEM_H