qt 不重写label不用点击鼠标的鼠标移动事件C++
时间: 2023-11-09 15:07:37 浏览: 74
缩放移动图片的Label类.rar
如果您想实现鼠标移动时自动触发事件,可以使用 QWidget 的 `setMouseTracking(true)` 方法来启用鼠标追踪,然后重写 `QMouseEvent` 的 `mouseMoveEvent(QMouseEvent *event)` 函数,如下所示:
```cpp
class MyLabel : public QLabel
{
public:
MyLabel(QWidget *parent = nullptr) : QLabel(parent)
{
setMouseTracking(true); // 启用鼠标追踪
}
protected:
void mouseMoveEvent(QMouseEvent *event) override
{
// 处理鼠标移动事件
// ...
}
};
```
这样,只要鼠标在 `MyLabel` 区域内移动,就会触发 `mouseMoveEvent` 函数。不需要点击鼠标。
阅读全文