How can I create a listbox with the content of an structur/array?

3 次查看(过去 30 天)
I want to create a listbox and the content of the listbox has to be an array (yourcell),
This array will be the filenames inside sFiles.
I have this code:
for i=1:1:length(sFiles)
yourcell={sFiles(i).FileName};
res=uicontrol('Style', 'listbox','Position',[50 200 1000 200],...
'string',yourcell,'max',10,'min',1);
end
Does anybody has an idea why it's not working?
Thanks

回答(1 个)

Jakob B. Nielsen
Jakob B. Nielsen 2020-7-9
You create the listbox inside a loop. That means every loop iteration, you make a listbox on your selected position with only the i'th index of filename. You need to set up your entire list of items first (e.g. inside the loop), then create your listbox after the loop. For example:
yourcell={sFiles(1).FileName};
for i=2:1:length(sFiles)
yourcell=[yourcell,{sFiles(i).FileName}];
end
res=uicontrol('Style', 'listbox','Position',[50 200 1000 200],...
'string',yourcell,'max',10,'min',1);

类别

Help CenterFile Exchange 中查找有关 Migrate GUIDE Apps 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by