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

来源:互联网 发布:轩辕剑符鬼进阶数据 编辑:程序博客网 时间:2024/05/16 05:24

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 显示图像后,依然可以在图像区域显示右键菜单。
这里写图片描述

0 0
原创粉丝点击