改变鼠标形状,在绘制坐标系的时候有用到,特此记下:

 1 this->setMouseTracking(true);      //设置为不按下鼠标键触发moveEvent
 2 void mouseMoveEvent(QMouseEvent* event)
 3 {
 4     QPoint mousepos = event()->pos();
 5 
 6     //在坐标(0 ~ width,0 ~ height)范围内改变鼠标形状
 7     if(mousepos.rx() > 0
 8        && mousepos.rx() < width
 9        && mousepos.ry() > 0
10        && mousepos.ry() < height)
11     {
12            this->setCursor(Qt::CrossCursor);
13     }
14     else
15     {
16         this->setCursor(Qt::ArrowCursor);      //范围之外变回原来形状
17     }
18 }

鼠标形状对应的枚举值:

Qt 改变鼠标形状_Qt      Qt::ArrowCursor

Qt 改变鼠标形状_Qt_02       Qt::UpArrowCursor

Qt 改变鼠标形状_sed_03      Qt::CrossCursor

Qt 改变鼠标形状_Qt_04      Qt::IBeamCursor

Qt 改变鼠标形状_sed_05     Qt::WaitCursor

Qt 改变鼠标形状_Qt_06      Qt::BusyCursor

Qt 改变鼠标形状_sed_07        Qt::ForbiddenCursor

Qt 改变鼠标形状_Qt_08       Qt::PointingHandCursor

Qt 改变鼠标形状_Qt_09     Qt::WhatsThisCursor

Qt 改变鼠标形状_自定义_10     Qt::SizeVerCursor

Qt 改变鼠标形状_自定义_11    Qt::SizeHorCursor

Qt 改变鼠标形状_sed_12      Qt::SizeBDiagCursor

Qt 改变鼠标形状_自定义_13     Qt::SizeFDiagCursor

Qt 改变鼠标形状_Qt_14      Qt::SizeAllCursor

Qt 改变鼠标形状_sed_15     Qt::SplitVCursor

Qt 改变鼠标形状_自定义_16    Qt::SplitHCursor

Qt 改变鼠标形状_Qt_17   Qt::OpenHandCursor

Qt 改变鼠标形状_自定义_18    Qt::ClosedHandCursor

Qt 改变鼠标形状_Qt_19       Qt::BlankCursor

还可以自定义鼠标形状:

1 Qcurosr *myCursor=new QCursor(QPixmap(":/images/custom.png"),-1,-1);    //-1,-1表示热点位于图片中心
2 this->setCursor(*myCursor);