events - 有什么方法可以在将鼠标悬停在Matlab中的某个点上时触发回调函数吗?

标签 events matlab mouse

我正在使用 while 循环,并在其中在 MATLAB 中添加 ginput 来捕获鼠标的位置。我每次都会检查返回的位置是否在某个区域内,因此我将在当前图形上绘制一些曲线。但问题是,通过使用 ginput,我必须在返回位置之前按 Enter 键。有什么方法可以捕获鼠标事件,以便当当前光标悬停在某些点上时会触发回调函数吗?谢谢。

最佳答案

由于您已经有一个正在使用的图窗,因此您可以设置该图窗的监听属性:

set(gcf,'WindowButtonMotionFcn', @mouseMoveListener);

但是现在您必须创建一个名为“mouseMoveListener”的函数(如果您想将其命名为其他名称,请将@符号后面的单词更改为您想要的任何名称,并确保实际的事件函数也被命名为该名称) .

在您的函数mouseMoveListener中,您现在可以获得鼠标坐标:

MousePos = get(mainAxis,'CurrentPoint');

它告诉鼠标相对于轴坐标的当前点。从那里,您可以使用任何 if 语句检查该位置是否位于您想要的位置,并根据该信息执行您想要的任何任务。

关于events - 有什么方法可以在将鼠标悬停在Matlab中的某个点上时触发回调函数吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11814308/

相关文章:

javascript - 在模块化 JavaScript 中调用事件

matlab - 如何在 Matlab 中将颜色与热图中的值明确关联?

matlab - 如何使用行和列上的 1D 卷积来计算 2D 卷积?

java - JFrame 未显示

c# - 延迟事件处理直到事件被触发

javascript - 如何避免大量 onmouseover onmouseout 触发?

matlab - 如何在 matlab 中使用直方图处理程序

java - 创建鼠标移动可视化效果最丰富的方法是什么?

c++ - 为 WH_MOUSE 设置 WindowsHookEx

scroll - 更改鼠标滚动以不放大Expression Blend?