guidata()不返回图回调中的用户数据(GUIDE)

时间:2016-07-05 12:40:46

标签: matlab user-interface matlab-guide

我正在创建一个GUI,我希望将一个函数绑定到GUI本身的WindowButtonUpFcn。首先,我将结构存储在hObject中,如下所示:

guidata(hObject,pm)

然后我想将一个函数绑定到上面提到的回调中,如下所示:

hObject.WindowButtonUpFcn = @(varargin) WindowButtonUp(hObject);

现在在回调中我尝试检索我的结构

function WindowButtonUp(hObject,varargin)
    pm = guidata(hObject);
    % Some calculations
    guidata(hObject,pm);
end % I put this here for syntax highlighting, generally this is not necessary

pm现在包含

figure1: [1x1 Figure]
 output: [1x1 Figure]

虽然它应该包含

pm = 

     Axes_Hndls: [1x3 Axes]
    Spline_Hndl: [1x3 Line]
      DragIndex: 0
          Plane: [1 2]
           Mode: 1
              n: 100
     Point_Data: [3x3 double]
    Point_Hndls: [3x3 GraphicsPlaceholder]

这对我没有意义。 hObject包含

  Figure (figure1) with properties:

      Number: []
        Name: 'gait_editor'
       Color: [0.9400 0.9400 0.9400]
    Position: [181 27.6667 209.5000 64.7333]
       Units: 'characters'

我在这里缺少什么?我无法将结构直接传递给回调,因为它调用了其他期望hObject的函数(guidata()函数 的函数。

0 个答案:

没有答案