- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Matlab GUI 菜单和工具栏常用操作
PAGE
PAGE 5
Matlab GUI 常用操作
菜单
编辑菜单
打开GUIDE,选择工具栏上面的菜单编辑按钮
添加菜单回调函数(callback)
菜单编辑完成保存后,在fig对应的m文件中会自动生成菜单的回调函数声明
例如菜单tag名为menuFilePrint,则对应的callback函数为:
function menuFilePrint_Callback(hObject, eventdata, handles)
可以在该函数内添加代码实现功能。
菜单项访问
获取菜单句柄
在matlab的函数中要对某个菜单进行访问,必须获得该菜单的句柄。
如果是在菜单的回调函数里面,hObject就是该菜单的句柄;
如果是在其他的函数里面要获得某一菜单的句柄,比如选中工具栏上的ZoomIn按钮,按钮处于被按下状态,同时要设置对应菜单项view-Zoom-Zoom In 为选中状态,如下图:
这里要在按钮“ZoomIn”的callback函数里面实现对菜单menuViewZoomIn的状态设置。首先得获得菜单的句柄:
% first we must get the handle of menuZoomIn
hFigChildren = allchild(gcf);
% menuView handle
hMenuView = findobj(hFigChildren,Tag,menuView);
hvc = allchild(hMenuView);
% menuViewZoom
hViewZoom = findobj(hvc,Tag,menuViewZoom);
hvzc = allchild(hViewZoom);
%menuZoomIn handle
hZoomIn = findobj(hvzc,Tag, menuZoomIn);
获取设置菜单状态
得到菜单的句柄后就可以得到菜单当前的状态了:
if strcmp(get(hZoomIn, Checked),on)
set(hZoomIn, Checked, off);
else
set(hZoomIn, Checked, on);
end
工具栏
不显示工具栏
GUIDE开发界面
在对应的m文件中找到
function Main_OpeningFcn(hObject, eventdata, handles, varargin)
在该函数里面添加:
set(hObject,Toolbar,none);
M文件开发
hMainFigure = figure(... % The main GUI figure
MenuBar,none, ...
Toolbar,none, ...
HandleVisibility,callback, ...
Color, get(0,...
defaultuicontrolbackgroundcolor));
显示“Figure”工具栏
set(hObject,Toolbar,figure);
添加自定义工具栏
set(hObject,Toolbar,none);
hToolbar = uitoolbar(hObject);
hNewPushtool = uipushtool(... % Open toolbar button
Parent,hToolbar,...
TooltipString,New File,...
CData,imread(New.bmp));
HandleVisibility,callback, ...
ClickedCallback, @hOpenMenuitemCallback);
获取工具栏句柄
% get toolbar handle
hToolbar = findall(gcf,Type,uitoolbar);
if isempty(hToolbar), return, end
获取figure工具栏按钮的tag值
% get toolbar handle
hToolbar = findall(gcf,Type,uitoolbar);
if isempty(hToolbar), return, end
% get all children
hChildren = allc
文档评论(0)