gpt4 book ai didi

events - 有什么方法可以在Matlab中悬停在一个点上时触发回调函数?

转载 作者:行者123 更新时间:2023-12-04 05:36:54 26 4
gpt4 key购买 nike

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

最佳答案

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

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

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

在您的函数中 mouseMoveListener您现在可以获得鼠标坐标:
MousePos = get(mainAxis,'CurrentPoint');

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

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

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com