Qt:从Qsplitter获取鼠标移动事件

Qt: Get MouseMove events from Qsplitter

本文关键字:鼠标 移动 事件 获取 Qsplitter Qt      更新时间:2023-10-16

我试图检测鼠标何时在拆分器布局内移动。我设法通过父窗口小部件中mouseMoveEvent函数的重载来获取鼠标位置,但当鼠标位于拆分器的"手柄"(可以更改其尺寸的地方)上时,它就不起作用了。

我也尝试过使用eventFilters,但它似乎和以前的方法一样。。。

有人有类似的行为吗?我可能做错了什么?

提前谢谢。-

如果您想在不按鼠标键的情况下获得鼠标移动,则需要为父窗口小部件和所有子窗口小部件启用鼠标跟踪。例如,我创建了一个小部件,其中有两个标签分布在一个拆分器中。在构造函数中,我需要做以下操作:

setMouseTracking(true);
ui->label->setMouseTracking(true);
ui->label_2->setMouseTracking(true);
ui->splitter->setMouseTracking(true);

现在,父窗口小部件的mouseMoveEvent接收所有鼠标移动。