我设置了setMouseTracking(true); 就可以了,以下代码
#include "myview.h"
[pre]MyView::MyView(QWidget *parent) :[/pre][pre] QGraphicsView(new QGraphicsScene(), parent)[/pre][pre]{[/pre][pre] scene()->setBackgroundBrush(QColor(127, 127, 127)); // 设置场景背景[/pre]
[pre] setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff);[/pre][pre] setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff);[/pre][pre] setFrameShape(QFrame::NoFrame);[/pre][pre] setViewportUpdateMode(QGraphicsView::BoundingRectViewportUpdate);[/pre]
[pre] this->setMouseTracking(true);[/pre][pre]}[/pre][pre]void MyView::paintEvent(QPaintEvent *event)[/pre][pre]{[/pre]
[pre]}[/pre]
[pre]void MyView::resizeEvent(QResizeEvent *event)[/pre][pre]{[/pre][pre] layoutChanged();[/pre][pre]}[/pre]
[pre]void MyView::dataChanged()[/pre][pre]{[/pre]
[pre]}[/pre]
[pre]void MyView::layoutChanged()[/pre][pre]{[/pre][pre] update();[/pre][pre]}[/pre][pre]void MyView::mouseMoveEvent(QMouseEvent *event)[/pre][pre]{[/pre][pre] qDebug()<<event->pos();[/pre][pre] update();[/pre][pre]}[/pre]