参考: Qt\4.7.1\demos\boxes 所写。
例子表现: 如图。Hover到红色拖拽区域,鼠标样式改变。
重点语句已经做重点标记。
【.h】
class Graph : public QGraphicsItem
{
public:
Graph(int x, int y);
virtual ~Graph();
QRectF boundingRect() const;
protected:
virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget);
virtual void hoverMoveEvent(QGraphicsSceneHoverEvent* event);
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event);
virtual void mousePressEvent(QGraphicsSceneMouseEvent* event);
virtual void mouseReleaseEvent(QGraphicsSceneMouseEvent* event);
private:
// 检测鼠标是否在重设大小的区域;
bool IsInResizeArea(const QPointF& pos); //重点
private:
QSizeF m_size;
bool m_bIsResizing; // 是否正在改变大小的过