Matlab图形用户界面(GUI)制作
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
9.1 图形用户界面概述
• 用户界面: 用户与计算机或计算机程序的接触点或交互 方式 • 图形用户界面 • Graphical User Interfaces • GUI • 是由窗口、光标、按键、菜单、文字说明等对象 (Objects)构成的一个用户界面。
2016/1/14
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
菜单的外观
属性: ' Position ' , ' Checked ' , ' Separator ‘
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
教学过程
1.图形用户界面概述 2.界面菜单 3.用户控件 4.图形用户界面设计工具
2016/1/14
L.D. WANG College of Information & Electrical Engineering
(2)隐去标准菜单的两种方法
set(H_fig , 'MenuBar','none'); set(gcf,'menubar',menubar); (3)恢复图形窗上标准菜单 set(gcf,'menubar','figure');
2016/1/14
L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University
2016/1/14
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
现场菜单
【例】绘制一条Sa曲线,创建一个与之相联系的现场菜单,用以控制Sa曲线的颜色。 [mygui003.m] t=(-3*pi:pi/50:3*pi)+eps; y=sin(t)./t; hline=plot(t,y); cm=uicontextmenu; %创建现场菜单 %制作具体菜单项,定义相应的回调 uimenu(cm,'label','Red','callback','set(hline,''color'',''r''),')
2016/1/14
L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
• Uicontrol由函数uicontrol生成 Hc_1=uicontrol(Hf_fig, ' PropertyName ' ,PropertyValue,...)
2016/1/14
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
‘ Label ’ 属性值 菜单条和下拉菜单项上的文本字符串,以确认菜单项。 ‘ Callback ’ 属性值 MATLAB字符串,当选中菜单项时,用以执行。
2016/1/14
2016/1/14
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
颜色控制
• ‘ BackGroundColor ’ 属性 • 控制填充菜单背景的颜色。缺省值是浅灰。 • 另一颜色属性为 ' ForeGroundColor ' , • 它确定菜单项文本的颜色,缺省值是黑色。
2016/1/14
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
回调属性
>>uimenu( ' Label ' , ' Test ' , ' CallBack ' , ' grid on; set(gca, ' ' Box ' ' , ' ' on ' ' ) ' );
2016/1/14
L.D. WANG College of Information & Electrical Engineering
父
兄
弟
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
9.2 菜单
• • • • 建立菜单和子菜单 图形窗的标准菜单 自制的用户菜单 现场菜单
2016/1/14
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
GUI对象层次结构
根 计 算 机 屏 幕 图 图 子 Uimenu Uicontrol uimenu 座 标 轴 型 式 : 按 钮 键 无 线 按 钮 键u i m e n u 检 查 框 滑 标 弹 出 式 菜 单 框 架 文 本 编 辑
uimenu(cm,'label','Blue','callback','set(hline,''color'',''b''),')
uimenu(cm,'label','Green','callback','set(hline,''color'',''g''),') set(hline,'uicontextmenu',cm)
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
1 【例】对于传递函数为的归一化二阶系统, G 2 s 2s 1
mygui004.m clf reset H=axes('unit','normalized','position',[0,0,1,1],'visible','off'); set(gcf,'currentaxes',H); str='\fontname{隶书}归一化二阶系统的阶跃响应曲线'; 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);
2016/1/14
L.D. WANG College of Information & Electrical Engineering Shenyang Agricultural University
制作一个能绘制该系统单位阶跃响应的图形用户界面。
(1)产生图形窗和轴位框:
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
(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);',... • 's2=tf(1,[1 2*z(k) 1]); ',... • 'y(:,k)=step(s2,t);',... • 'plot(t,y(:,k));',... • 'if (length(z)>1) ,hold on,end,',... • 'end;', 'hold off,']);
2016/1/14
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
9.3 用户控件(uicontrol)
• 按钮 • 滑标 • 文本框等
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
图形窗的标准菜单
隐藏和恢复标准菜单的显示 (1)获得缺省设置的标准菜单 figure
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
自制的用户菜单
• 【例】自制一个带下拉菜单表的用户菜单。该菜单能使图形窗背 景颜色设置为兰色或红色。 • [mygui002.m]
Figure h_menu=uimenu(gcf,'label','Color'); h_submenu1=uimenu(h_menu,'label','Blue','callback','set(gcf,''Color'',''blue'')'); h_submenu2=uimenu(h_menu,'label','Red', 'callback','set(gcf,''Color'',''red'')');
• • • Hm_1---由uimenu生成的菜单项的句柄 uimenu对象的属性值 ‘ PropertyName ’ ,PropertyValue Hx_parent---缺省的父辈对象的句柄
2016/1/14
L.D. WANG College of Information & Electrical Engineering
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
图形用户界面(GUI)制作
教学目标 • 了解图形用户界面的一般结构和功能; • 掌握图形用户界面的设计原则,设计工具, 界面菜单,用户控件。
2016/1/14
L.D. WANG College of Information & Electrical Engineering
2016/1/14
来自百度文库
L.D. WANG College of Information & Electrical Engineering
Shenyang Agricultural University
MATLAB在工程中的应用
第九章 图形用户界面(GUI)制作
建立菜单和子菜单
• 采用函数uimenu建立菜单项 • Hm_1=uimenu(Hx_parent, ‘ PropertyName ‘ , PropertyValue,...)