qt实现鼠标事件处理函数:鼠标按下事件中左键按下使用qDebug()输出"哈哈",右键按下输出"呵呵",鼠标移动事件中左键移动时输出"he",鼠标释放事件中直接输出"ha"。
时间: 2023-07-07 17:34:39 浏览: 51
可以在 Qt 的 QWidget 中重写鼠标事件处理函数 `mousePressEvent()`,`mouseMoveEvent()` 和 `mouseReleaseEvent()`,然后在这些函数中根据鼠标事件的类型和按键来实现不同的功能。具体实现如下:
```cpp
void MyWidget::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton) {
qDebug() << "哈哈";
} else if (event->button() == Qt::RightButton) {
qDebug() << "呵呵";
}
}
void MyWidget::mouseMoveEvent(QMouseEvent *event)
{
if (event->buttons() & Qt::LeftButton) {
qDebug() << "he";
}
}
void MyWidget::mouseReleaseEvent(QMouseEvent *event)
{
qDebug() << "ha";
}
```
在鼠标按下事件中,可以通过 `event->button()` 获取鼠标按下的按键类型,然后根据不同的按键类型输出不同的信息。
在鼠标移动事件中,可以通过 `event->buttons()` 获取当前鼠标按下的所有按键类型,然后判断左键是否按下,如果是,则输出"he"。
在鼠标释放事件中,直接输出"ha"。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)