Qt:从Qsplitter获取MouseMove事件

时间:2013-07-08 19:10:09

标签: c++ qt

我正在尝试检测鼠标何时在分割器布局中移动。我设法通过在父窗口小部件中重载mouseMoveEvent函数来获取鼠标位置,但是当鼠标位于拆分器的“手柄”(可以更改其尺寸的位置)上时,它无法工作。

我也试过使用eventFilters,但它似乎像以前的方法一样工作......

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

提前致谢.-

1 个答案:

答案 0 :(得分:0)

如果您想在不按鼠标键的情况下进行鼠标移动,则需要为父窗口小部件和所有子窗口小部件启用鼠标跟踪。例如,我创建了一个带有2个标签的小部件,这些标签位于拆分器中。在构造函数中,我需要执行以下操作:

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

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