setMouseTracking(true);//設置鼠標追蹤,默認狀況下只有鼠標按鍵按下的時候才執行mouseMoveEventcode
鼠標移動事件事件
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()<<"鼠標中鍵按下移動"; }
鼠標按鍵事件get
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()<<"中鍵按下"; }
鼠標釋放事件class
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()<<"中鍵釋放"; }