zoukankan      html  css  js  c++  java
  • 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() > 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); 
  • 相关阅读:
    Linux阶段总结
    Java基础单词总结
    毕业设计
    tips: ubuntu apt sources.list 设置
    Java编程从0到1系列 目录
    EnvironmentError: mysql_config not found
    pyenv 2.7 环境安装MySQL-python ERROR
    dtd语法规则
    HashMap和HashTable之间的区别
    Vector(同步)和ArrayList(异步)异同
  • 原文地址:https://www.cnblogs.com/ybqjymy/p/13323916.html
Copyright © 2011-2022 走看看