Matlab在按钮上返回文本

Matlab在按钮上返回文本,matlab,matlab-figure,Matlab,Matlab Figure,我刚刚开始学习按钮,我被卡住了。我有两个弹出菜单。当用户选择按钮时。每个弹出菜单选择的总数将返回给用户。我从弹出菜单中得到了值,但我不知道在按下按钮后如何返回。谢谢你的帮助 function pushbutton1_Callback(hObject, eventdata, handles) math=0; data1 =get(handles.popupmenu1, 'Value') %processing data from first pop up menu if data1=

我刚刚开始学习按钮,我被卡住了。我有两个弹出菜单。当用户选择按钮时。每个弹出菜单选择的总数将返回给用户。我从弹出菜单中得到了值,但我不知道在按下按钮后如何返回。谢谢你的帮助

 function pushbutton1_Callback(hObject, eventdata, handles)

 math=0;

 data1 =get(handles.popupmenu1, 'Value')  %processing data from first pop up menu
 if data1== 1
 math=1
 elseif data1 == 2
    math=4
 end
 data2=get(handles.popupmenu2, 'Value')  %processing data from second pop up menu
 if data2==1
    math=math + 5;
 end
 % I tabulated math which is some number.  I want to return it back to the user 
 in  a text outside of the button.

然后还有另一种返回值的方法:传递值并将其存储在guidata结构中。在文档中搜索GUI数据以获取详细信息。文档中的一个示例:

function My_Callback()
% ...
% Get the structure using guidata in the local function
myhandles = guidata(gcbo);
% Modify the value of your counter
myhandles.numberOfErrors = myhandles.numberOfErrors + 1;
% Save the change you made to the structure
guidata(gcbo,myhandles) 
简要说明如何操作:

1.通过myhandles=guidata(图中的handle\u)获取数据

2.添加/修改数据,如myhandles.Test=123

3.不要忘记保存更改,否则它们将“消失”->使用GUI数据(图形的句柄,myhandles)

4.要测试它,只需在另一个函数中加载GUI数据并查找更改

编辑

在重新阅读您的问题时,我想到,您可能只是希望在回调中计算的值显示在其他地方。例如,如果希望值显示在文本编辑uicontrol中,可以使用:

set(HandleOfTheTextEdit, 'String', num2str(mat))

一种更复杂但更强大的方法是创建自己的句柄类


这样做可以向自定义数据添加回调。我举了一个例子。

+1感谢你展示了我以前不知道的东西。这是一些下一级的Matlab编程:)下次将尝试,似乎对更大的数据集有用(?)