是否可以指定一个隐藏的'字符串到MATLAB GUI的列表框中的某个字符串?

时间:2014-09-09 09:36:56

标签: matlab

希望我能让我的问题更清楚:我在MATLAB中创建一个子GUI,由主GUI调用。在这个子GUI中,我将有一个列表框,其中包含各种不同的字符串,例如' Impedance'或者'带宽'。我知道如何让GUI返回这些值,但我真正希望它返回的是,例如,' imp'和' bw'与我在程序中已有的变量名称相匹配。我知道我可以用if else语句实现这个,但是我想知道是否有更简洁的方法来做这个,所以它会自动给我直接对应变量名的字符串。

1 个答案:

答案 0 :(得分:0)

listbox实际上返回一个数值,该值是所选项目的索引 然后,如果您希望所选的字符串项首先获得String属性(字符串的单元格数组),那么您可以使用{}索引。 现在,如果你想要一个不同的字符串来对应每个项目,你所要做的就是用请求的对应关系创建另一个字符串的单元格数组。所以在代码中

set(yourListHandle,'String',{'Impedance','Bandwidth'});
ShortCut = {'imp','bw'};
%//---Manual selction operations---
%//
String = get(yourListHandle,'String');
I = get(yourStringHandle,'Value');

%//the selected item is
String{I}

%//the selected item short cut is
ShortCut{I}

这里需要注意的是,如果您使用列表框重新排序列表,那么您还必须重新排序ShortCut列表。