!求matlab gui鼠标悬停响应时间实现具体方式 40
gui中两个axes,鼠标悬停在一个axes上1秒时,在另一个axes上出现鼠标停留点附近的放大图像。(类似放大镜功能)核心是要解决鼠标悬停1秒这个响应。...
gui中两个axes,鼠标悬停在一个axes上1秒时,在另一个axes上出现鼠标停留点附近的放大图像。(类似放大镜功能)
核心是要解决 鼠标悬停1秒这个响应。 展开
核心是要解决 鼠标悬停1秒这个响应。 展开
展开全部
我能想到的一个做法思路如下:
1、编写窗口的WindowButtonMotionFcn回调函数,在该回调函数中判断鼠标是否在第一个axes范围内,如果是,则设置一个全局变量或某自定义属性为当前时间(要点是在另外的函数中能够访问这个数据),则该时间为鼠标在该坐标系里面的最后移动时间。
2、定义一个定时器,执行周期可以稍微小一些(例如0.1秒),在其回调函数中首先判断是否在坐标系中,如果在,则取上述WindowButtonMotionFcn回调函数中保存的鼠标最后移动时间,如果二者之差大于1秒,则在另一坐标系中显示放大图像。
具体还有一些细节需要处理,比如,如果已经显示放大图像,则后续定时器回调函数不应重复更新放大图像的绘图;再比如,在鼠标移动的情况下,应该先清除放大图像,等等。但基本思路大致就是这样了,处理起来稍微有点麻烦,供参考。
1、编写窗口的WindowButtonMotionFcn回调函数,在该回调函数中判断鼠标是否在第一个axes范围内,如果是,则设置一个全局变量或某自定义属性为当前时间(要点是在另外的函数中能够访问这个数据),则该时间为鼠标在该坐标系里面的最后移动时间。
2、定义一个定时器,执行周期可以稍微小一些(例如0.1秒),在其回调函数中首先判断是否在坐标系中,如果在,则取上述WindowButtonMotionFcn回调函数中保存的鼠标最后移动时间,如果二者之差大于1秒,则在另一坐标系中显示放大图像。
具体还有一些细节需要处理,比如,如果已经显示放大图像,则后续定时器回调函数不应重复更新放大图像的绘图;再比如,在鼠标移动的情况下,应该先清除放大图像,等等。但基本思路大致就是这样了,处理起来稍微有点麻烦,供参考。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询