如何在matlab中编写弹出菜单的回调?

时间:2014-09-17 09:20:25

标签: matlab matlab-guide

我要在弹出菜单中插入四个项目(土壤类型),输出应该是使用静态文本显示的整数值(孔隙度)。怎么做到这一点?

1 个答案:

答案 0 :(得分:0)

我猜您将使用GUIDE创建GUI。下面是一个简单的代码,用于使用预定义的字符串填充弹出菜单,并使用所选项目更改静态文本中显示的输出:

1)为了填充弹出菜单,只需创建一个字符串的单元格数组并设置' String'菜单属性到该单元格数组:

%创建单元格数组

SoilTypes = {'Soil A' 'Soil B' 'Soil C' 'Soil D'};

%设置弹出菜单的字符串属性:

set(handles.popupenu1,'String',SoilTypes);

2)现在你正在谈论的回调似乎是Selection Change回调,它可能如下所示:

function Popupmenu1_SelectionChangeFcn(hObject, eventdata, handles)

当用户更改弹出菜单中的选定项目时,将执行此操作。因此,您希望使用以下行获取所选项目:

get(handles.popupmenu1,'Value')

因此,根据前面的单元格数组,您可以使用(在其他选项中)一个开关/案例场景,您可以在其中为每种类型的土壤执行任何所需的操作,例如在静态文本框中显示文本。您也可以直接在文本框中设置字符串,如下所示:

SelectedItem = get(handles.popupmenu1,'Value') % Get the value, from 1 to 4 in your case

set(handles.text1,'String',SoilTypes{SelectedItem}); % Display the corresponding soil type

希望有助于您入门!