【发布时间】:2014-11-03 00:41:57
【问题描述】:
在 Matlab GUI 的回调函数中,我需要捕获在命令窗口中创建的绘图的图形句柄,而不是在 GUI 中。如果我在回调中简单地使用gcf,我会得到 GUI 句柄而不是图形的句柄。事实上,如果我写close(gcf),在这个回调中,GUI 会关闭,而不是我想要关闭的图形。
如何获得正确的图形手柄?
【问题讨论】:
-
你通过命令窗口创建了什么样的情节,你是如何创建的?你能提供代码吗? (通常,您使用
findobj解决它,或者如果您使用figure(#)创建另一个图形,则只需使用#) -
您好,感谢您的重播!可以说在命令窗口中我只是这样做:
plot(0,0)。现在,我启动我的 gui,并在回调中我想在上一个图中添加一些其他点/线,我试图让轴句柄执行h = findobj(gcf,'Type','axes'),但gcf返回 GUI 句柄,而不是情节处理 -
我的意思是:
figure(405); figure(155); figure();=>hFigs = findobj(0,'Type','figure');然后你选择不是gcf的那个(0是 MATLAB 根对象)。
标签: matlab user-interface handle figure