Qt学习系列4--鼠标

setMouseTracking(true);//设置鼠标追踪,默认情况下只有鼠标按键按下的时候才执行mouseMoveEvent


鼠标移动事件

void Widget::mouseMoveEvent(QMouseEvent *e)
{
    qDebug()<<e->x()<<e->y();//鼠标在窗口中的坐标
    qDebug()<<e->globalX()<<e->globalY();//鼠标的全局坐标
    if(e->buttons()&Qt::LeftButton)
        qDebug()<<"鼠标左键按下移动";
    else if(e->buttons()&Qt::RightButton)
        qDebug()<<"鼠标右键键按下移动";
    else if(e->buttons()&Qt::MidButton)
        qDebug()<<"鼠标中键按下移动";
}


鼠标按键事件

void Widget::mousePressEvent(QMouseEvent *e)
{
    if(e->button()==Qt::LeftButton)
         qDebug()<<"左键按下";
    else if(e->button()==Qt::RightButton)
         qDebug()<<"右键按下";
    else if(e->button()==Qt::MidButton)
         qDebug()<<"中键按下";
}

鼠标释放事件

void Widget::mouseReleaseEvent(QMouseEvent *e)
{
    if(e->button()==Qt::LeftButton)
         qDebug()<<"左键释放";
    else if(e->button()==Qt::RightButton)
         qDebug()<<"右键释放";
    else if(e->button()==Qt::MidButton)
         qDebug()<<"中键释放";
}


你可能感兴趣的:(Qt学习系列4--鼠标)