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;

}

猜你喜欢

转载自www.cnblogs.com/victorywr/p/12272937.html