Qt:控制鼠标事件发射速率的因素



>我有一个回调,当鼠标移动时可以做一些工作。 不以最大速度管理它感觉很奇怪。当用户移动鼠标时,什么控制鼠标回调发生的频率?

鼠标设备驱动程序。如果您在系统的配置面板上更改鼠标设置,您将看到行为差异。窗口系统将这些事件发送到主进程,这些事件由QApplication处理,然后传播到右侧小部件。

除非未设置事件过滤器,否则小部件上的事件传递与本机应用程序中一样无缝。毕竟Qt事件系统匹配不同操作系统用于其窗口事件系统的内容。

如果感觉很奇怪,请仔细检查您的回调实现。问题不太可能在其他地方。

我认为这取决于鼠标的轮询率。鼠标轮询速率是它报告其位置的频率(以 Hz 为单位)。例如,具有 125 Hz 轮询的鼠标在一秒内报告其位置 125 次(每 8 毫秒)。

当您移动鼠标时,较高的轮询速率可能会导致更多的回调。但它也会使用更多的CPU资源。

最新更新