0

我的 matlab 项目中有一个“主要”图形,它打开一个“设置”图形。用户可以更改设置图中的某些字段,然后在设置图中按“应用”按钮。我想在按下应用按钮时将设置数据从设置图发送到主图。

我将应用按钮的回调设置为通过这些字段更新设置图的handles.output,并且在主图中我在调用设置图时将输出分配给了一个变量。

function apply_Callback(hObject, eventdata, handles)
  handles.output = [str2num(get(handles.precinp, 'String')) get(handles.plotcheck, 'Value')
  get(handles.stepcheck, 'Value') get(handles.speedslid, 'Value')];
  guidata(hObject, handles);

这就是我从主图中打开设置图的方式:

function settingsbutton_Callback(hObject, eventdata, handles)
  handles.settingsdata = cell2mat(settings());
  guidata(hObject, handles);

因此,仅在打开设置图时才进行分配,但是我想在按下应用按钮时进行

4

1 回答 1

2

uiwait在创建设置对话框并uiresume单击应用按钮后尝试使用。您将需要选择一个图形手柄来等待。一个合乎逻辑的选择是对应于设置对话框的图形句柄(请参阅文档)。这将允许settingsbutton_Callback函数阻塞,直到单击应用按钮。

您也可以考虑为设置对话框使用句柄类,在这种情况下,它可以将设置存储为属性,而不是通过handles.output.

于 2013-05-21T06:14:09.230 回答