【发布时间】:2015-01-25 18:00:52
【问题描述】:
我正在尝试将我使用 matlab GUI 选择的特定文件夹中存在的所有图像名称加载到列表框中。
问题是当我选择文件夹时:
如果它是空的,我可以看到带有白色背景颜色的空列表(这是正确的)。
但是当我选择一个包含图像的文件夹时,列表框会从 GUI 中消失。我收到一条警告:
警告:单选列表框控件需要一个标量值
控件在其所有参数值都有效之前不会被渲染
我被这个问题困扰了很长时间,我找不到解决方法。
这是我尝试过的代码:
% --- Load up the listbox with tif files in folder handles.handles.ImageFolder
function handles=LoadImageList(handles)
ListOfImageNames = {};
folder = handles.ImageFolder;
if ~isempty(handles.ImageFolder)
if exist(folder,'dir') == false
warningMessage = sprintf('Note: the folder used when this program was last run:\n%s\ndoes not exist on this computer.\nPlease run Step 1 to select an image folder.', handles.ImageFolder);
msgboxw(warningMessage);
return;
end
else
msgboxw('No folder specified as input for function LoadImageList.');
return;
end
% If it gets to here, the folder is good.
ImageFiles = dir([handles.ImageFolder '/*.*']);
for Index = 1:length(ImageFiles)
baseFileName = ImageFiles(Index).name;
[folder, name, extension] = fileparts(baseFileName);
extension = upper(extension);
switch lower(extension)
case {'.png', '.bmp', '.jpg', '.tif', '.avi'}
% Allow only PNG, TIF, JPG, or BMP images
ListOfImageNames = [ListOfImageNames baseFileName];
otherwise
end
end
set(handles.lstImageList,'string',ListOfImageNames);
return
【问题讨论】:
标签: matlab listbox matlab-guide