Qt 如何将鼠标移动事件转换为鼠标滚动/拖动事件

Qt 如何将鼠标移动事件转换为鼠标滚动/拖动事件,qt,events,mouse,Qt,Events,Mouse,我的应用程序要求我使用多个鼠标,当用户移动特定鼠标时,操作系统应返回鼠标拖动/滚动事件。我想用Qt4.6实现这一点 你能做的是 QWidget::setMouseTracking(true) 应该调用QWidget::mouseMoveEvent(QMouseEvent*事件)的 每当鼠标移动时 然后您可以根据需要处理事件 如果您正在查找常规拖动事件,那么Qt已经处理了鼠标事件 QWidget::dragEnterEvent(QDragEnterEvent*事件) 我知道qt有自己的mousem

我的应用程序要求我使用多个鼠标,当用户移动特定鼠标时,操作系统应返回鼠标拖动/滚动事件。我想用Qt4.6实现这一点

你能做的是

QWidget::setMouseTracking(true)

应该调用QWidget::mouseMoveEvent(QMouseEvent*事件)的 每当鼠标移动时

然后您可以根据需要处理事件

如果您正在查找常规拖动事件,那么Qt已经处理了鼠标事件 QWidget::dragEnterEvent(QDragEnterEvent*事件)

我知道qt有自己的mousemove事件。我的应用程序已经包含mousemove和mousedrag处理程序。我的问题是,我有一个轨迹球鼠标,这是预期的行为,因为拖动/滚动工程在正常的系统鼠标。我想要的是一个环绕轨迹球鼠标事件的包装器,以便它可以作为鼠标拖动。我在windows XP上工作。@Kashish:当你用轨迹球鼠标做某事时,Qt会调用mouseMoveEvent吗?Hi Blueskin,谢谢你的回复和兴趣。轨迹球鼠标是一个串行设备,连接到COM1端口,没有轮子(用于拖动),只提供dX和dY输入。我想发出一个QWheel事件,该事件将我的dx转换为event->delta()。是否有办法将dX(一次从静止位置移动的球的数量)转换为QWheelEvent。