【发布时间】:2020-03-24 02:57:50
【问题描述】:
我将 GUIDE 中的列表框项用于预定义的数据列表(字符串),据此我得到“值”并采取一些措施。问题是这个列表现在是在编译和运行程序之前作为静态列表集组成的。现在我的需求发生了变化,必须处理其内容在运行时收到的动态列表。这意味着列表框在运行时而不是在编译之前获取其内容。
这可以做到吗?怎么样?
【问题讨论】:
标签: matlab user-interface listbox
我将 GUIDE 中的列表框项用于预定义的数据列表(字符串),据此我得到“值”并采取一些措施。问题是这个列表现在是在编译和运行程序之前作为静态列表集组成的。现在我的需求发生了变化,必须处理其内容在运行时收到的动态列表。这意味着列表框在运行时而不是在编译之前获取其内容。
这可以做到吗?怎么样?
【问题讨论】:
标签: matlab user-interface listbox
您可以这样做,这里显示的是对按钮单击的响应。重要的属性是列表框的String 属性:
f = figure();
lb = uicontrol(f, ...
'Style', 'listbox', 'String', {'a', 'b', 'c'}, ...
'Units', 'normalized', 'Position', [.1 .2 .8 .7] ...
);
b = uicontrol( f, ...
'String', 'Change list items', ...
'Callback', @(h,e) mycallback(lb), ...
'Units', 'normalized', 'Position', [.1 .1 .8 .09] ...
);
function mycallback(lb)
lb.String = {'1','2','3','4','5'};
end
【讨论】:
d = textscan(fid, '%s'),然后使用lb.String = d{1}。您应该编辑您的问题,因为您的问题似乎是如何读取您的文本文件并热准备用作列表框的字符串值的数据-uicontrol。