当用户按下按钮时,我在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
在命令窗口中,我假设这只是意味着它是真的 有没有人知道如何从对话框中的列表框中获取所选值?
答案 0 :(得分:2)
所选值的索引为s
。该值将为str{s}
或str(s,:)
,具体取决于您是将str
存储为字符数组还是存储字符串的单元格数组。
get(hObject,'value')
此处未执行您的操作 - hObject
指的是您按下的按钮,而不是listdlg
,因此它会获得value
的{{1}}按钮本身。