Events 当鼠标悬停在Matlab中的某个点上时,有没有办法触发回调函数?

Events 当鼠标悬停在Matlab中的某个点上时,有没有办法触发回调函数?,events,matlab,mouse,Events,Matlab,Mouse,我使用了一个while循环,在其中我在MATLAB中添加了ginput来捕捉鼠标的位置。我每次都会检查返回的位置是否在某个区域内,因此我会在当前图形上绘制一些曲线。但问题是,使用ginput时,我必须在返回位置之前按enter键。这是捕获鼠标事件的方法吗?当当前光标悬停在某些点上时,会触发回调函数吗?谢谢。因为您已经有了正在使用的图形,您可以为该图形设置侦听属性: set(gcf,'WindowButtonMotionFcn', @mouseMoveListener); 但是现在您必须创建一个

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

因为您已经有了正在使用的图形,您可以为该图形设置侦听属性:

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

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

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