Добавить элементы в uilistbox программно

Я играю с MATLAB GUI и хочу добавить элементы в listBox, когда моя программа их генерирует. У меня есть функция, которая генерирует данные, и я хочу поместить "Имя" этих данных в поле списка. Вот моя функция:

function [ birdInfo, trackBuff ] = saveParabolaOnFramesPlot( birdInfo, trackBuff , f, listbox)

Вот как я на самом деле установил элемент, но он не работает со следующей ошибкой:

В классе ListBox нет свойства String
set (listbox, 'String', stringOfField)

Значение stringOfField это просто строка.

Вот как я вызываю эту функцию из AppDesigner Code View:

[app.birdInfo, app.trackBuff ] = saveParabolaOnFramesPlot( app.birdInfo, app.trackBuff , app.birdInfo.aFrame, app.JumpListListBox);

Как я могу это исправить?

1 ответ

Решение

'String' это свойство, которое используется uicontrol объекты, которые отличаются от тех, которые созданы AppDesigner. На основании документации для uilistbox, вы хотите установить Items свойство вместо

Также, если вы хотите добавить новый элемент, вам нужно получить текущий список элементов (массив строк) и добавить новый элемент перед его назначением.

currentItems = get(listbox, 'Items');
newitems = cat(2, currentItems, stringOfField);
set(listbox, 'Items', newitems)

Или проще:

listboxt.Items{end+1} = stringOfField;
Другие вопросы по тегам