使用MATLAB中的按钮和下拉菜单将项添加到列表框

时间:2017-07-04 08:22:41

标签: matlab

我在MATLAB2015中使用GUIDE创建GUI。我有一个下拉菜单,用户选择要查看的消息,然后单击Add按钮将消息名称添加到列表框中,并在表格中显示它包含的数据。

我的问题是,如果我想添加多条消息,而不是添加该消息,它会覆盖前一条消息。以下是我目前的代码。

addData = getappdata(handles.msgSel_menu, 'Data');
boxMsg = get(handles.msgSel_menu,'String');
boxMsgVal = get(handles.msgSel_menu,'Value');
set(handles.activeDataBox,'String',boxMsg{boxMsgVal});
set(handles.data_table, 'Data', addData);

如果之前已多次这样做,请道歉,但由于我对MATLAB相对较新,我可以对任何修复我的问题的代码做一点解释。

1 个答案:

答案 0 :(得分:1)

您必须从列表框中获取初始字符串单元格,然后将所需元素添加到单元格中。从生成的单元格变量中,使用set命令更新列表框。

这是一个简单的例子。

addData = getappdata(handles.msgSel_menu, 'Data');
current_data = get(handles.activeDataBox, 'String'); % get the current string
new_data = current_data; % set new_data to the initial string ...
new_data{ length(current_data) + 1 } = addData ; % ... then you add the desired element by incrementing the cell
set(handles.activeDataBox, 'String', new_data); % update your listbox

编辑:代码已更新。