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); 
  • 相关阅读:
    Flask-SQLAlchemy
    with 与 上下文管理器
    使用@property
    C++:如何把一个int转成4个字节?
    尝试理解Flask源码 之 搞懂WSGI协议
    qt setData()和data()
    我使用过的Linux命令之sftp
    linux下如何使用sftp命令
    Linux环境下安装JDK
    CentOS 6.5 配置IP地址的三种方法
  • 原文地址:https://www.cnblogs.com/Jace-Lee/p/5946222.html
Copyright © 2011-2022 走看看