以编程方式将元素添加到uilistbox

时间:2016-12-03 18:45:22

标签: matlab matlab-gui

我正在使用MATLAB GUI,我希望在我的程序生成它们时将元素添加到listBox。我有一个生成数据的函数,我想将这些数据的“名称”放在列表框中。这是我的功能:

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

以下是我实际设置元素的方法,但它失败并出现以下错误:

  

ListBox类没有String属性
       set(listbox,'String',stringOfField)

stringOfField的值只是一个字符串。

以下是我从AppDesigner代码视图中调用此函数的方法:

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

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:2)

'String'uicontrol对象使用的属性,与AppDesigner创建的属性不同。根据{{​​3}}的文档,您需要设置Items属性

此外,如果您想要追加一个新项目,您将需要获取当前项目列表(字符串的单元格数组)并在分配之前附加新项目。< / p>

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

或更简单:

listboxt.Items{end+1} = stringOfField;