Добавить элементы в 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;