MATLAB GUI axes的ButtondownFCN无效的问题

在创建MATLAB GUI程序时,作者遇到一个难题:在axes1上设置的ButtondownFCN无法正常工作。问题在于句柄结构没有正确更新。通过查阅资料,作者发现使用guidata()函数可以解决这个问题。在对axes做出修改后,如plot操作,需要在最后加入guidata代码来更新句柄结构。此外,还需要在ButtonDownFcn函数内部再次调用guidata来确保访问到最新的句柄数据。
摘要由CSDN通过智能技术生成

这两天写了一个matlab gui程序,程序中主要用到了两个axes,目的是通过在axes1中用鼠标选取一个点,而在axes2上显示该点对应的图像。本来想着应该是个很简单的程序,但是在编程的过程中,我却遇到了一个很严重的问题:在axes1上画点后,再利用function axes1_ButtonDownFcn(hObject,eventdata, handles)获取鼠标点中的位置时,ButtonDownFcn()函数却没反映,程序无法执行!就是这个问题,使得本来很简单的一个程序变得很费劲。上网搜了很多资料,发现大家也遇到了这样的问题,但是更多情况下,遇到这种问题的人基本是想获得axes上显示的image或者plot的句柄,进而能够正常使用ButtonDownFcn()函数,而没有说明如何解决获取axes的句柄的问题。下面是我在利用网上的资料后解决这个问题的方法,仅供大家参考。

首先,要感谢这个帖子点击打开链接上给出的一个链接点击打开链接,这是个英文链接,链接中 给出了axes句柄消失的深层原因,对于也加深理解的人

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值