Qt 改变鼠标形状
Published on 2020-08-26 11:20 in 分类: Qt with 萧海~
分类: Qt

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() > 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); 
    原文链接:https://www.cnblogs.com/ybqjymy/p/13323916.html
    posted @   萧海~  阅读(1268)  评论(0编辑  收藏  举报
    编辑推荐:
    · 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
    · AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
    · 基于Microsoft.Extensions.AI核心库实现RAG应用
    · Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
    · 开发者必知的日志记录最佳实践
    阅读排行:
    · winform 绘制太阳,地球,月球 运作规律
    · AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
    · 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
    · 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
    · 上周热点回顾(3.3-3.9)
    点击右上角即可分享
    微信分享提示
    电磁波切换