没有合适的资源?快使用搜索试试~ 我知道了~
matlab图形GUI教程.pdf
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 66 浏览量
2021-10-30
04:41:46
上传
评论
收藏 806KB PDF 举报
温馨提示
试读
23页
MATLAB
资源推荐
资源详情
资源评论
1
第十章 图形用户界面 GUI 制作
用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。如键盘、
鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面( Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文
字说明等对象( Objects)构成的一个用户界面。用户通过一定的方法(如鼠标或键盘)选
择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考
虑 GUI 的制作。但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想
制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。
MATLAB 为表现其基本功能而设计的演示程序 demo 是使用图形界面的最好范例。
MATLAB 的用户,在指令窗中运行 demo 打开那图形界面后,只要用鼠标进行选择和点击,
就可浏览那丰富多彩的内容。
即便比较熟悉 MATLAB 的读者,在他初次编写 GUI 程序时,也会感到棘手。为使读
者获得制作自己 GUI 的体验,本章“入门”节提供了一个简单的示例。读者只要输入所提
供的程序,就可引出相应的界面。
本章第 2 节叙述图形用户界面的设计原则和一般制作步骤。第 3、4 节分别介绍用户菜
单、用户控件的制作。出于“由浅入深”的考虑,前 4 节制作 GUI 是通过 M 脚本文件实现
的。利用 M 函数文件制作 GUI ,需要解决数据传递问题, 为此专设第 5 节给予阐述和示例。
这前 5 节内容对读者理解交互图形界面的工作原理很有帮助。
本章第 6 节专述 MATLAB6.5 提供的界面设计工作台的使用。 值得指出: 该设计工作台
与 MATLAB5.3 版的设计工具有很大不同。新的设计工作台显得更成熟、方便。
在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第 9 章关
于图柄的内容。
10.1入门
【例 10.1-1】对于传递函数为
12
1
2
ss
G
的归一化二阶系统,制作一个能绘制该系统
单位阶跃响应的图形用户界面。本例演示:( A)图形界面的大致生成过程;( B)静态文
本和编辑框的生成;( C)坐标方格控制键的形成;( D)如何使用该界面。
(1)
clf reset
H=axes( 'unit' , 'normalized' , 'position' ,[0,0,1,1], 'visible' , 'off' );
set(gcf, 'currentaxes' ,H);
str= 'ontname{ 隶书 } 归一化二阶系统的阶跃响应曲线 ' ;
text(0.12,0.93,str, 'fontsize' ,13);
h_fig=get(H, 'parent' );
set(h_fig, 'unit' , 'normalized' , 'position' ,[0.1,0.2,0.7,0.4]);
h_axes=axes( 'parent' ,h_fig, ...
'unit' , 'normalized' , 'position' ,[0.1,0.15,0.55,0.7], ...
'xlim' ,[0 15], 'ylim' ,[0 1.8], 'fontsize' ,8);
2
图 10.1-1
(2)
h_text=uicontrol(h_fig, 'style' , 'text' , ...
'unit' , 'normalized' , 'position' ,[0.67,0.73,0.25,0.14], ...
'horizontal' , 'left' , 'string' ,{ ' 输入阻尼比系数 ' , 'zeta =' });
h_edit=uicontrol(h_fig, 'style' , 'edit' , ...
'unit' , 'normalized' , 'position' ,[0.67,0.59,0.25,0.14], ...
'horizontal' , 'left' , ...
'callback' ,[ ...
'z=str2num(get(gcbo,''string''));' , ...
't=0:0.1:15;' , ...
'for k=1:length(z);' , ...
'y(:,k)=step(1,[1 2*z(k) 1],t);' , ...
'plot(t,y(:,k));' , ...
'if (length(z)>1) ,hold on,end,' , ...
'end;' , ...
'hold off,' ]);
图 10.1-2
(3)
h_push1=uicontrol(h_fig, 'style' , 'push' , ...
'unit' , 'normalized' , 'position' ,[0.67,0.37,0.12,0.15], ...
'string' , 'grid on' , 'callback' , 'grid on' );
h_push2=uicontrol(h_fig, 'style' , 'push' , ...
3
'unit' , 'normalized' , 'position' ,[0.67,0.15,0.12,0.15], ...
'string' , 'grid off' , 'callback' , 'grid off' );
图 10.1-3
(4)
图 10.1-4
图 10.1-5
10.2图形用户界面的设计原则和一般步骤
4
10.2.1设计原则
(1)简单性
(2)一致性
(3)习常性
(4)其它考虑因素
10.2.2 一般制作步骤
10.3界面菜单( uimenu)
10.3.1图形窗的标准菜单
【例 10.3.1-1】本例说明:如何隐藏和恢复标准菜单的显示。
(1)
H_fig=figure
(2)
set(H_fig , 'MenuBar','none') ;
set(gcf,'menubar',menubar);
(3)
set(gcf,'menubar','figure');
图 10.3-1 图 10.3-2
10.3.2自制的用户菜单
【例 10.3.2-1】本例演示:如何自制一个带下拉菜单表的用户菜单(如图 10.3-3 所示)。该
菜单能使图形窗背景颜色设置为兰色或红色。
figure
h_menu=uimenu(gcf, 'label' , 'Color' ); % <2>
h_submenu1=uimenu(h_menu, 'label' , 'Blue' , ... % <3>
'callback' , 'set(gcf,''Color'',''blue'')' ); % <4>
h_submenu2=uimenu(h_menu, 'label' , 'Red' , ... % <5>
'callback' , 'set(gcf,''Color'',''red'')' ); % <6>
5
图 10.3-3
10.3.3 用户菜单的属性
10.3.3.1 回调属性和菜单名
(1)菜单名属性
(2)回调属性
【例 10.3.3.1-1 】本例的目标是:在图形窗上自制一个名为【 Test】的“顶层菜单项”;当
用鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。通过本例说明:( A)回调属性
的运作机理;( B)用户顶层菜单项的制作( C)uimenu 属性的设置方法;( D)复杂字符
串的构成方法和注意事项。
(1)
grid on,set(gca,'box','on')
图 10.3-4
(2)
eval('grid on,set(gca,''box'',''on'')')
(3)
uimenu('Label','Test','Callback','grid on,set(gca,''box'',''on''),')
剩余22页未读,继续阅读
资源评论
jishuyh
- 粉丝: 0
- 资源: 7万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功