C++ QT鼠标移动时,旁边显示加号或箭头
时间: 2023-10-05 09:07:22 浏览: 97
您可以通过设置QWidget的鼠标跟踪属性来实现在鼠标移动时显示加号或箭头的效果。具体实现方法如下:
1. 在您的QWidget派生类的构造函数中设置鼠标跟踪属性为真:
```cpp
setMouseTracking(true);
```
2. 重写QWidget的鼠标移动事件函数,并在事件处理函数中根据鼠标位置判断当前应该显示的鼠标图标类型:
```cpp
void YourWidget::mouseMoveEvent(QMouseEvent *event)
{
if (event->pos().x() > some_value && event->pos().y() > some_value)
{
QApplication::setOverrideCursor(Qt::CrossCursor);
}
else
{
QApplication::setOverrideCursor(Qt::ArrowCursor);
}
}
```
其中,some_value是一个您自己定义的阈值,用于判断当前鼠标位置是否应该显示加号或箭头。如果鼠标位置在阈值范围内,就显示加号,否则显示箭头。注意,您需要在鼠标移动结束之后将鼠标图标恢复为默认状态:
```cpp
void YourWidget::leaveEvent(QEvent *event)
{
QApplication::restoreOverrideCursor();
}
```
这样,在您的QWidget中移动鼠标时就会根据鼠标位置动态地显示加号或箭头了。
相关推荐
![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)