首页 > 代码库 > Qt--改变鼠标形状

Qt--改变鼠标形状

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

 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() > 010        && mousepos.ry() < height)11     {12            this->setCursor(Qt::CrossCursor);13     }14     else15     {16         this->setCursor(Qt::ArrowCursor);      //范围之外变回原来形状17     }18 }

 

 

鼠标形状对应的枚举值:

技术分享      Qt::ArrowCursor

技术分享       Qt::UpArrowCursor

技术分享      Qt::CrossCursor

技术分享      Qt::IBeamCursor

技术分享     Qt::WaitCursor

技术分享      Qt::BusyCursor

技术分享        Qt::ForbiddenCursor

技术分享       Qt::PointingHandCursor

技术分享     Qt::WhatsThisCursor

技术分享     Qt::SizeVerCursor

技术分享    Qt::SizeHorCursor

技术分享      Qt::SizeBDiagCursor

技术分享     Qt::SizeFDiagCursor

技术分享      Qt::SizeAllCursor

技术分享     Qt::SplitVCursor

技术分享    Qt::SplitHCursor

技术分享   Qt::OpenHandCursor

技术分享    Qt::ClosedHandCursor

技术分享       Qt::BlankCursor

 

还可以自定义鼠标形状:

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

 

Qt--改变鼠标形状