Matlab及应用 - 第8章 MATLAB 图形用户界面
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
'set(hboff,''Enable'',''on'');']);
InformatBiblioteka Baiduon Theory & Technology Center(ITTC)
7
菜单设计举例(续)
%定义Option菜单项 hoption=uimenu(gcf,'Label','Option'); hgon=uimenu(hoption,'Label','Grid on',... 'Call','grid on','Enable','off'); hgoff=uimenu(hoption,'Label','Grid off',... 'Call','grid off','Enable','off'); hbon=uimenu(hoption,'Label','Box on',... 'separator','on','Call','box on','Enable','off'); hboff=uimenu(hoption,'Label','Box off',... 'Call','box off','Enable','off'); hwincor=uimenu(hoption,'Label','&Window Color','Separator','on'); uimenu(hwincor,'Label','Red','Accelerator','r',... 'Call','set(gcf,''Color'',''r'');'); uimenu(hwincor,'Label','Blue','Accelerator','b',... 'Call','set(gcf,''Color'',''b'');'); uimenu(hwincor,'Label','Yellow','Call',... 'set(gcf,''Color'',''y'');'); uimenu(hwincor,'Label','White','Call',... 'set(gcf,''Color'',''w'');');
• 控件对象的属性
• 公共属性 • 控件对象作为图形对象所具有的属性
Information Theory & Technology Center(ITTC)
14
控件对象的属性
• 公共属性
• Children、Parent、Tag、Type、UserData、Visible
• 控件对象的基本控制属性 Style 取值可以是 pushbutton, togglebutton,radiobutton, checkbox, edit, text, slider, frame, popupmenu 或listbox Callback取值为字符串,可以是某个M文件名或一小段MATLAB语句,当 用户激活某个控件对象时,应用程序就运行该属性定义的子程序。 String定义控件对象的说明文字,取值为字符串矩阵或数组 BackgroundColor定义对象的背景色,取值为颜色的预定义字符或 RGB 数值 ForegroundColor定义控件对象说明文字的颜色,取值为颜色的预定义 字符或RGB数值 Units取值可以是pixelsz(像素), normalized(相对单位), inches(英 寸), centimeters(厘米)或points(磅) Max、Min:取值都为数值,默认值分别为1和0,不同的对象类型其意 义不同。 Value 取值可以是矢量,也可以是数值,其含义及解释依赖于控件对 象的类型
hc=uicontextmenu;
%建立快捷菜单
%建立菜单项
hls=uimenu(hc,'Label','线型'); hlw=uimenu(hc,'Label','线宽');
uimenu(hls,'Label','虚线','Call','set(hl,''LineStyle'','':'');'); uimenu(hls,'Label','实线','Call','set(hl,''LineStyle'',''-'');'); uimenu(hlw,'Label','加宽','Call','set(hl,''LineWidth'',2);'); uimenu(hlw,'Label','变细','Call','set(hl,''LineWidth'',0.5);'); set(hl,'UIContextMenu',hc); %将该快捷菜单和曲线对象联系起来
必须指定
4
Information Theory & Technology Center(ITTC)
菜单对象常用属性
• 菜单对象具有Children、Parent、Tag、Type、UserData、Visible 等公共属性,除公共属性外,还有一些常用的特殊属性。
• 菜单条的提示名称 Label:它可以是一个任意字符串。在菜单项提示的 字符串中允许用户使用 & 标志,以表示该符号后面的字符在显示时有 一个下划线修饰,这使得用户可以用Alt键加该字符键来激活相应的菜 单项。 • 回调函数 Callback:它可以为一个函数名称,也可以是一组 MATLAB 命 令。在该菜单被选中以后, MATLAB将自动地调用此回调函数来作出对 相应菜单项的响应,如果没有设置一个合适的回调函数,则此菜单项也 将失去其应有的意义。 快捷键accelerator:取值为任意字母,定义菜单的快捷键为CTRL+字母 使能状态enabled:取值为on/off,若为off,则菜单项呈灰色,不能使用 该菜单 分隔符separator:取值为on/off,若为on,则在该菜单项上方添加一条分隔 线 5
['t=-pi:pi/20:pi;','plot(t,sin(t));',...
'set(hgon,''Enable'',''on'');',... 'set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');',... 'set(hboff,''Enable'',''on'');']); uimenu(hplot,'Label','Cosine Wave','Call',... ['t=-pi:pi/20:pi;','plot(t,cos(t));',... 'set(hgon,''Enable'',''on'');',... 'set(hgoff,''Enable'',''on'');',... 'set(hbon,''Enable'',''on'');',...
Information Theory & Technology Center(ITTC)
10
快捷菜单示例
• 例 绘制曲线 y=2e-0.5xsin(2πx),并建立一个与 之相联系的快捷菜单,用以控制曲线的线型和 曲线宽度。
x=0:pi/100:2*pi; y=2*exp(-0.5*x).*sin(2*pi*x); hl=plot(x,y);
9
快捷菜单
• 快捷菜单是用鼠标右键单击某对象时在屏幕上 弹出的菜单
• 这种菜单出现的位置是不固定的,而且总是和 某个图形对象相联系。
• 在MATLAB中,可以使用uicontextmenu函数和 图形对象的UIContextMenu属性来建立快捷菜单, 具体步骤为:
(1) 利用uicontextmenu函数建立快捷菜单。 (2) 利用uimenu函数为快捷菜单建立菜单项。 (3) 利用set函数将该快捷菜单和某图形对象联系起来。
Institute of Information Theory & Technology Center(ITTC)
MATLAB及应用
—第八章 图形用户界面设计
信息与通信工程学院
1
MATLAB图形用户界面设计
• 什么是MATLAB图形用户界面设计?
• 所谓图形用户界面GUI (Graphical User Interfaces) 是指由 窗口、菜单、对话框等各种图形对象组成的用户界面 • 在这种用户界面下,用户的命令和对程序的控制是通过 “选择”各种图形对象来实现的。
Information Theory & Technology Center(ITTC)
8
菜单设计举例(续)
%定义Quit菜单项 uimenu(gcf,'Label','Quit','Call','close(gcf)');
Information Theory & Technology Center(ITTC)
• 是用户与计算机进行信息交流的临时窗口 • 主要通过用户控件对象建立对话框
• 对话框的控件 按钮(Push Button) 双位按钮(Toggle Button) 单选按钮(Radio Button) 复选框(Check Box) 列表框(List Box) 弹出框(Popup Menu) 编辑框(Edit Box) 滑动条(Slider) 静态文本(Static Text) 边框(Frame)
Information Theory & Technology Center(ITTC)
11
主要内容
• 菜单设计 • 对话框设计 • 可视化图形用户界面设计
Information Theory & Technology Center(ITTC)
12
对话框
• 对话框是重要的信息显示和获取输入数据的用户界面对象
• 图形对象
Root(屏幕)
Figure(图形窗口)
Uicontrol(用户控件)
Axes(坐标轴)
Uimenu(用户菜单)
Line (曲线)
Surface (曲面)
Rectangle (方框)
Patch (区域块)
Image (图像)
Text (文字)
Light (光源)
2
Information Theory & Technology Center(ITTC)
• 程序如下: figure('Color',[1,1,1],... 'Name','图形演示系统','NumberTitle','off','MenuBar','none');
Information Theory & Technology Center(ITTC)
6
菜单设计举例(续)
%定义Plot菜单项 hplot= uimenu(gcf,'Label','Plot'); uimenu(hplot,'Label','Sine Wave','Call',...
主要内容
• 菜单设计 • 对话框设计 • 可视化图形用户界面设计
Information Theory & Technology Center(ITTC)
3 3
菜单设计
• MATLAB的图形窗口有默认的菜单栏,也允许用户设 计自己所需要的菜单系统
• 菜单对象是图形对象的子对象,菜单设计总在某一图形窗 口中进行。
Information Theory & Technology Center(ITTC)
13
对话框的设计
• MATLAB提供了用于建立控件对象的 函数uicontrol,调用格式为:
• 对象句柄=uicontrol(图形窗口句柄,属 性名1,属性值1,属性名2,属性值2, …) • 各个属性名及可取的值和前面介绍的 uimenu函数相似
Information Theory & Technology Center(ITTC)
菜单设计举例
• 建立图形演示系统菜单。菜单条中含有3个菜单项: Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave 两个子菜单项,分别控制在本图形窗口画出正弦和余 弦曲线。Option菜单项包含Grid on, Grid off, Box on,Box off和Window Color子项,其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐 标轴加边框,而且这4项只有在画有曲线时才是可选 的。Window Color控制图形窗口背景颜色。Quit控制 是否退出系统。
• 建立用户菜单
• uimenu函数
• 建立一级菜单项的函数调用格式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1, 属性名2,属性值2,…) 可以缺省,缺省为当前窗口 • 建立子菜单项的函数调用格式为: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1, 属性名2,属性值2,…)