MATLAB Answers

Guide Popupmenu adding an image?

11 views (last 30 days)
How can you add an image to a popupmenu using guide? An example picture of what I am trying to do is shown below. I have been trying to figure this out with no luck. Any help is appreciated.

  0 Comments

Sign in to comment.

Accepted Answer

Image Analyst
Image Analyst on 16 Nov 2014
You can get that at Yair's site undocumented MATLAB.

  0 Comments

Sign in to comment.

More Answers (1)

Jan
Jan on 15 Nov 2014
You can include images using HTML:
Icon = fullfile(matlabroot,'/toolbox/matlab/icons/matlabicon.gif');
IconURI = ['"file:/', strrep(Icon, '\', '/'), '"'];
uicontrol('Style', 'popupmenu', ...
'String', {'Hello', ['<html><img src=', IconURI, '> String']})

  4 Comments

Show 1 older comment
Image Analyst
Image Analyst on 16 Nov 2014
Try
set(handles.popup1, 'String', {'Hello', ['<html><img src=', IconURI, '> String']})
Christopher
Christopher on 16 Nov 2014
Awesome, that seems to work. Now I just need to figure out how to adjust the spacing. The icon show's up almost on the text.
Is it better to leave the popupmenu strings empty and just reference them this way when using the images? So If I want to use there selection to perform operations such as:
contents = get(hObject,'Value')
switch contents
case 1
set(handles.edit1, 'Visible', 'off');
set(handles.text5, 'Visible', 'off');
case 2
% a=imread('11.png');
% imshow(a);
otherwise
end
Image Analyst
Image Analyst on 16 Nov 2014
That's not right. Look at the code in comments. What you call contents is actually the index that is selected. To get the contents and index:
selectedIndex = get(handles.popup1, 'Value');
allContents = get(handles.popup1,'string');
selectedContents = allContents{selectedIndex};

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by