关闭

Qt--改变鼠标形状

标签: qt开发用户体验鼠标
42人阅读 评论(0) 收藏 举报
分类:


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

复制代码
 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::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); 

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:595次
    • 积分:99
    • 等级:
    • 排名:千里之外
    • 原创:9篇
    • 转载:4篇
    • 译文:0篇
    • 评论:0条
    文章分类
    文章存档