QT實現鼠標操作事件(獲得鼠標的坐標和間值)


1、首先建立一個新的Widget工程

在新建工程的頭文件中定義申明鼠標按下、釋放、移動、雙擊事件;然后到主程序中對定義的幾個鼠標事件進行簡單的處理

注意在主程序最前面添加鼠標的頭文件和要用到的其他頭文件

找到幫助文檔:

 

 

在其中這幾個代表的是鼠標事件觸發后的坐標值和按下的鼠標值(是鼠標左鍵還是右鍵還是中鍵)

打印各個事件觸發后的鼠標坐標值和鼠標值

添加以下代碼

void Widget::mousePressEvent(QMouseEvent *event){
  qDebug()<<"鼠標按下"<<endl;
  if(event->button()==Qt::LeftButton)
      qDebug()<<"左鍵按下"<<endl;
  else if(event->button()==Qt::RightButton)
      qDebug()<<"右鍵按下"<<endl;
  else if(event->button()==Qt::MidButton)
      qDebug()<<"中鍵按下"<<endl;
  qDebug()<<event->globalPos()<<endl;
  qDebug()<<event->windowPos()<<endl;

}

void Widget::mouseReleaseEvent(QMouseEvent *event){
 qDebug()<<"鼠標釋放"<<endl;
 qDebug()<<event->globalPos()<<endl;
 qDebug()<<event->windowPos()<<endl;
}
void Widget::mouseMoveEvent(QMouseEvent *event){
 qDebug()<<"鼠標移動"<<endl;
 qDebug()<<event->globalPos()<<endl;
 qDebug()<<event->windowPos()<<endl;
}
void Widget::mouseDoubleClickEvent(QMouseEvent *event){
 qDebug()<<"鼠標雙擊"<<endl;
 qDebug()<<event->globalPos()<<endl;
 qDebug()<<event->windowPos()<<endl;

}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM