![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/168395/image.jpeg)
how to insert elements in listbox?
7 次查看(过去 30 天)
显示 更早的评论
how can i insert list of images into listbox?? I have a folder containg images and i want to insert list of images into the listbox
0 个评论
采纳的回答
Chandra Kurniawan
2012-1-27
Hi, Usama.
Maybe you are seeking for something like this?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/168395/image.jpeg)
In the openingfcn
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
files = dir(fullfile(pwd,'Folder01','*.png'));
for x = 1 : length(files)
handles.images{x} = imread(fullfile(pwd,'Folder01',files(x).name));
end
set(handles.listbox1,'string',{files.name});
guidata(hObject, handles);
In the listbox1 callback
function listbox1_Callback(hObject, eventdata, handles)
handles.output = hObject;
index = get(handles.listbox1,'value');
imshow(handles.images{index});
guidata(hObject, handles);
You can also change the image extention by replacing png with another extention
Eq: files = dir(fullfile(pwd,'Folder01','*.jpg'));
And if it is DICOM files
files = dir(fullfile(pwd,'Folder01','*.dcm'));
for x = 1 : length(files)
handles.images{x} = dicomread(fullfile(pwd,'Folder01',files(x).name));
end
I hope this helps.
8 个评论
Image Analyst
2015-5-15
Try
for k = 1 : length(files)
listboxItems{k} = files(k).name;
end
set(handles.listbox1, 'String', listboxItems);
hush puppy
2015-5-15
@image analyst, i've tried your code..this code seem to display all my file names now..but the image is not appearing on my handles.images when I click on it..
更多回答(3 个)
Chandra Kurniawan
2012-1-27
In openingfcn
function untitled_OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
handles.cdir = pwd;
set(handles.listbox1,'enable','off');
guidata(hObject, handles);
In pushbutton callback
function pushbutton1_Callback(hObject, eventdata, handles)
handles.output = hObject;
fn = uigetdir(handles.cdir,'Select directory');
if fn ~= 0
handles.cdir = fn;
img = dir(fullfile(handles.cdir,'*.png'));
for x = 1 : length(img)
handles.I{x} = imread(fullfile(handles.cdir,img(x).name));
end
if length(img) ~= 0, set(handles.listbox1,'enable','on');
else, set(handles.listbox1,'enable','off');
end
set(handles.edit1,'string',handles.cdir);
set(handles.listbox1,'string',{img.name});
end
guidata(hObject, handles);
In listbox callback
function listbox1_Callback(hObject, eventdata, handles)
handles.output = hObject;
index = get(handles.listbox1,'value');
imshow(handles.I{index});
guidata(hObject, handles);
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/168402/image.jpeg)
%
7 个评论
Walter Roberson
2012-10-24
Please start a new Question for this, and show your code in that new Question.
Elysi Cochin
2013-1-31
hi, chandra, one doubt, in addition to the listbox and axes.... i have two buttons also.... one named "DELETE" and the other named "RESTORE".....
in the DELETE button when i select a particular item from listbox that name gets deleted from the listbox and the corresponding image gets deleted from the folder....
on click of the RESTORE button all the delete images should get displayed in a figure file and added back to the folder.....
please can u help me do this option.....
i tried, its working when only one image is deleted..... if i delete more than one item, only the last deleted item is getting restored..... can u help me sort it out.....
Image Analyst
2012-1-27
I don't know how to put images into listboxes. You can put the name of the image files into the listboxes (like Titus showed you) but you can't put the images themselves in with MATLAB only. However, you can put an ActiveX control onto your GUI, and there are third party ActiveX controls that can have images in a listbox, such as ( http://www.atalasoft.com/products/dotimage/winforms). Or you can use Microsoft's "ListView" control: http://msdn.microsoft.com/en-us/library/ie/bb398790.aspx. Scroll down the page about half way until you see the listbox with pictures of bicycles in it.
0 个评论
Titus Edelhofer
2012-1-26
Hi Usama,
something like the following:
files = dir(fullfile(theFolder, '*.jpg'));
set(handles.listbox1, 'string', {files.name})
Titus
0 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Migrate GUIDE Apps 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!