我想连接两个axes.handles,这样当鼠标单击一个时,另一个也会做第一个操作。我有一个外部函数执行我想要做的事情,当点击鼠标时。我只需要更新GUI中的两个句柄,以便在单击一个轴时它将执行相同的操作。在Matlab中连接两个手柄
在主界面
function testminiproj_OpeningFcn(hObject, ~, handles, varargin)
handles.output = hObject;
handles.done=0;
guidata(hObject, handles);
setappdata(0,'figureHandle',gcf);
setappdata(gcf,'axesHandle1',handles.axes6);
setappdata(gcf,'axesHandle2',handles.axes7);
这是我的外部函数是回调到主界面,通过调用MOUSEMOTION;
function varargout = mousemotion(this,varargin)
%// get the figure handle from the application main data
figureHandle = getappdata(0,'figureHandle');
%// get the axes handle from the figure data
axesHandle1 = getappdata(figureHandle,'axesHandle1');
%// get the axes handle from the figure data
axesHandle2 = getappdata(figureHandle,'axesHandle2');
global rdata;
if nargin<1
set(gcf,'WindowButtonDownFcn','mousemotion(''down'')');
set(gcf,'WindowButtonUpFcn','mousemotion(''up'')');
set(gcf,'WindowButtonMotionFcn','');
感谢任何帮助。我试图把问题放在一边很糟糕。希望有人能帮助。谢谢。
您想写set(axesHandles,...)而不是set(axesHandle1,..)和set(axesHandle2,..)。我对吗? – HebeleHododo
是的。我想链接这两个轴手柄,以便当我对其中一个执行一个动作时,另一个也会跟随。 – user1953847