qt 如何判断 鼠标按下的点是否在矩形框内
时间: 2024-03-11 07:46:47 浏览: 49
在Qt中,可以使用QRect类来表示矩形框,使用QMouseEvent类来表示鼠标事件。要判断鼠标按下的点是否在矩形框内,可以使用以下步骤:
1. 获取鼠标事件中的坐标点,可以使用QMouseEvent类的pos()函数获取。
2. 判断该点是否在矩形框内,可以使用QRect类的contains()函数。该函数的参数为QPoint类型,表示一个点的坐标。
以下是示例代码:
```cpp
void MyWidget::mousePressEvent(QMouseEvent *event)
{
if (event->button() == Qt::LeftButton)
{
QPoint point = event->pos(); // 获取鼠标事件的坐标点
QRect rect(100, 100, 200, 200); // 定义一个矩形框
if (rect.contains(point)) // 判断该点是否在矩形框内
{
qDebug() << "Mouse point is inside the rectangle!";
}
else
{
qDebug() << "Mouse point is outside the rectangle!";
}
}
}
```
在上面的代码中,我们首先获取鼠标事件的坐标点,然后定义一个矩形框,最后使用contains()函数判断该点是否在矩形框内。如果在矩形框内,则输出“Mouse point is inside the rectangle!”,否则输出“Mouse point is outside the rectangle!”。
相关推荐
![](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)