即日起在codingBlog上分享您的技术经验即可获得积分,积分可兑换现金哦。

matlab GUI axe显示图片后右键显示菜单

编程语言 damofeixue0333 15℃ 0评论
本文目录
[隐藏]

1.matlab GUI axe显示图片后右键显示菜单

在使用matlab进行可视化中,遇到了axe显示图片后鼠标右键无法在图片上显示右键菜单的问题,在网上查找资料无果,最后发现解决方法极其简单。。。


用最简单的GUI程序举例。

设置一个push button作为图像读入按钮,设置一个axe为图像显示区域。

菜单设置如下:


这里写图片描述

push button 定义 Callback 函数:

function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
[filename,filepath]=uigetfile('*.jpg','打开文件');   
filep=strcat(filepath,filename);  
I=imread(filep);
hImage=image(I);

axe 在未显示读入图像时,通过 UIContextMenu 设置为 menu 即可在空白状态下显示右键菜单。


然而,在读入图像后,在图像区域右键没有响应。


在各种尝试时偶然发现,hImage 有 UIContextMenu 这一属性,瞬间石化。。。

于是,只需要在获得图像句柄 hImage 后,增加一行代码,设置UIContextMenu 为菜单 menu 即可:

set(hImage,'UIContextMenu',handles.menu);

至此,在 axe 显示图像后,依然可以在图像区域显示右键菜单。


这里写图片描述

转载请注明:CodingBlog » matlab GUI axe显示图片后右键显示菜单

喜欢 (0)or分享 (0)
发表我的评论
取消评论

*

表情