如何从对话框中的列表框中获取选定的值

时间:2014-05-06 15:23:07

标签: matlab listbox dialog

当用户按下按钮时,我在GUI中使用以下代码在对话框中打开列表框:

% --- Executes on button press in selectdata.
function selectdata_Callback(hObject, eventdata, handles)
% hObject    handle to selectdata (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
X = getappdata(0,'XValue');
Y = getappdata(0,'YValue');
A = [X,Y];
str = num2str(X);
[s,v] = listdlg('PromptString','Select Initial & Final Wavelength:','SelectionMode','multiple','ListString',str);  
selected_values = get(hObject,'value');  

我正在尝试获取列表框中选择的值,但我一直很难这样做,因为我一直在

selected_values =   
                   1  

在命令窗口中,我假设这只是意味着它是真的 有没有人知道如何从对话框中的列表框中获取所选值?

1 个答案:

答案 0 :(得分:2)

所选值的索引为s。该值将为str{s}str(s,:),具体取决于您是将str存储为字符数组还是存储字符串的单元格数组。

get(hObject,'value')此处未执行您的操作 - hObject指的是您按下的按钮,而不是listdlg,因此它会获得value的{​​{1}}按钮本身。