Qt设置鼠标样式

this->setMouseTracking(true);      //设置为不按下鼠标键触发moveEvent
void mouseMoveEvent(QMouseEvent* event)
{
    QPoint mousepos = event()->pos();

    //在坐标(0 ~ width,0 ~ height)范围内改变鼠标形状
    if(mousepos.rx() > 0 
       && mousepos.rx() < width
       && mousepos.ry() > 0
       && mousepos.ry() < height)
    {
           this->setCursor(Qt::CrossCursor);
    }
    else
    {
        this->setCursor(Qt::ArrowCursor);      //范围之外变回原来形状
    }
}

鼠标形状对应的枚举值:

      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

 

自定义鼠标形状:

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

由图像构造QCursor时,第一个指定图像(由QPixmap构造), 后面两个参数分别是鼠标x和y方向的热点,热点即鼠标点击的位置,设置为(0, 0)时, 鼠标点击位置位于图像左上角,设置为(-1, -1)时, 鼠标热点位于图像中心。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值