我正在使用listbox
来显示消息和程序日志。为了在程序运行时添加字符串,我定义了一个像这样的全局索引
function pushbutton_Callback(hObject, eventdata, handles)
global idx
%stuff
idx = idx + 1;
logs_data(idx,1) = cellstr('First string');
set(handles.logs, 'String', logs_data); %Listbox
%other stuff
使用全局变量,我坚信在第一次迭代(第一次按下按钮时),idx
是一个空单元格,我将其初始化为1
。我写了字符串,然后再按一次按钮,idx
变成2
,在前一行下面添加了新行。唯一的问题是,当我这样做时,数组logs_data
变成了一个带有空单元格的向量,除了当前已添加的单元格之外。
例如,如果我按5次按钮,我想让logs_data
有一个5x1的数组,其中的字符串在字符串之内
Iteration 1
Iteration 2
Iteration 3
Iteration 4
Iteration 5
但是我得到了这个
[]
[]
[]
[]
Iteration 5
我该如何解决?在另一种情况下,我可以使用增加for
的{{1}}循环,但是由于我在“回调”按钮中,因此无法使用此解决方案。