Get multiples item from listbox

16 Ansichten (letzte 30 Tage)
Nicolas Giret
Nicolas Giret am 2 Feb. 2017
Kommentiert: Nicolas Giret am 2 Feb. 2017
Dear all,
I have a listbox in a GUI from which I want to retrieve the value of different items. I have set up the "Max" value to 2 (and the "Min" to 0). With this I can select 2 items in my list. But, when I want to get the value of the two selected items with:
contents = cellstr(get(hObject,'String'))
selected_file=contents{get(hObject,'Value')}
It is only giving me the value of the first item in the list as a string.
How I can get an array of the two selected items then? I'm sure it is very simple but I can't find the solution.
Thanks for your help.

Antworten (3)

Adam
Adam am 2 Feb. 2017
Bearbeitet: Adam am 2 Feb. 2017
selected_file=contents( get(hObject,'Value') )
should work. Or just
selected_file = hObject.String( hObject.Value );
in one line (R2014b or later - the equivalent get style works for earlier versions)

Nicolas Giret
Nicolas Giret am 2 Feb. 2017
Thanks Adam,
It is indeed giving the "Value" ([1 2] if I select the two first items).
But actually, I wasn't clear enough. Instead of the "Value", I rather wanted to get the "String" of these 2 items which I get with:
contents = (get(hObject,'Value'))
str_contents = cellstr(get(hObject,'String'))
selected_items=str_contents(contents)
Perhaps it is not really elegant, but it's working !
  1 Kommentar
Adam
Adam am 2 Feb. 2017
Well in your original question you extracted the string into contents so I used what you had written there and didn't bother to repeat it.

Melden Sie sich an, um zu kommentieren.


Jan
Jan am 2 Feb. 2017
Bearbeitet: Jan am 2 Feb. 2017
Older Matlab versions contained the function popupstr for this job. Unfortunately this small but useful piece of code has been removed. Here is a replacement, which handles single and multi-selction listboxes and popup menus, strings, CHAR matrices and cell strings:
selected_items = GetSelection(hObject)

Kategorien

Mehr zu Loops and Conditional Statements finden Sie in Help Center und File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by