2024年3月13日发(作者:)
void mouseReleaseEvent(QGraphicsSceneMouseEvent *event);
virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget);
Q_SIGNALS:
void clicked();
void clickedId(int);
private:
QPointF pressedScenePoint;
QPointF m_offset;
QPointF m_pos;
Qt::TransformationMode mode;
QPixmap m_pixmap;
bool isPressed;
int m_type;
int m_id;
qreal m_pointPercent;
};
#endif // PICTRUEITEM_H
//
#include "pictrueitem.h"
#include
#include
#include
PictrueItem::PictrueItem(QGraphicsItem *parent)
:QGraphicsObject(parent),
isPressed(false),
mode(Qt::SmoothTransformation),
m_type(0),
m_id(0),
m_pointPercent((qreal)0.0)
{
}
PictrueItem::PictrueItem(const QPixmap &pixmap, QGraphicsItem *parent)
:QGraphicsObject(parent),
isPressed(false),
mode(Qt::SmoothTransformation),
m_type(0)
{
m_pixmap = pixmap;
}
PictrueItem::~PictrueItem()
{
}
void PictrueItem::setPixmap(const QPixmap &pixmap)
{
prepareGeometryChange();
m_pixmap = pixmap;
update();
}
QPixmap PictrueItem::pixmap() const
{
return m_pixmap;
}
QRectF PictrueItem::boundingRect() const
{
if(m_())
return QRectF();
return QRectF(m_offset, m_() / m_PixelRatio());
}
void PictrueItem::setTransformationMode(Qt::TransformationMode mode)
{
if (mode != this->mode)
{
发布评论