MATLAB第六讲 - MATLAB GUI设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6.1 MATLAB 图形界面编程基础
窗口对象 figure 的各种回调函数
回调函数 callback 是指该对象指定的事件发生时调用的函 数,窗口对象的回调函数主要有以下一些。
CloseRequestFcn 关闭窗口时的响应函数
CreateFcn DeleteFcn KeyPressFcn WindowButtonDownFcn
h = 331.0017 >> h=errordlg({'ERROR: There is...encountered', 'Program Aborted'}, 'Error') h = 331.0020 >> h=helpdlg({'HELP: Refer to the manual', 'Have a nice day'}, 'Message Box Dialog')
6.4 MALTAB 界面菜单系统设计
右键菜单用命令 uicontextmenu 创建,见下面例子
返回窗口句柄 h 将窗口 h 设为当前窗口 返回当前窗口句柄 h 查看当前窗口的属性及其取值 查看窗口的所有属性及可能取值
6.1 MATLAB 图形界面编程基础
窗口对象 figure
窗口属性可以由下面命令设置或修改
set(h,‘PropertyName1’,PropertyVal1,‘PropertyName2’,PropertyVal2,...),
MATLAB 允许用户设计出自己所需要的菜单系统,菜单
的设置是由 uimen 函数来完成的,其调用格式为
h =uimenu( Figurehandle, 'PropertyName1', value1, 'PropertyName2', value2,...)
如果用户想在某一个菜单条下定义一个新的子菜单条,则 可以使用下面给出的命令格式
FontSize: 10
FontWeight: 'normal' FontAngle: 'normal'
6.2 MATLAB 标准对话框
• 警告、错误与提示信息对话框warndlg(), errordlg(), helpdlg()
>> h=warndlg({'ERROR: There is...encountered', 'Try again'}, 'Warning')
h = 331.0022
6.3 MATLAB 图形界面设计基本控件
MATLAB 语言的控件可以由 uicontrol 函数设置,该函数
的调用格式为
h = uicontrol( PropertyName1, PropertyValue1, PropertyName2, PropertyValue2, …) 控件的属性及其取值见 uicontrol 函数的帮助文档,各种不 同的控件由属性 Style 的值来控制,该属性取值有: pushbutton, togglebutton, radiobutton, checkbox, edit, text, slider,frame, listbox, popupmenu
图形对象的层次
图形对象从root对象开始,构成层次关系。
当我们调用plot命令,matlab执行过程大致如下: 1)使用figure命令,在屏幕root对象上生成一个图 形窗口figure对象 2)使用axis命令,在图形窗口绘制生成一个绘图 区域axis对象 3)最后用line命令,在axis指定的区域里绘制线条。
MATLAB程序语言设计
翟懿奎
五邑大学信息学院2012年
yikuizhai@126.com
第六讲 MATLAB图形用户界面设计
6.1 MATLAB 图形界面编程基础 6.2 MATLAB 标准对话框
6.3 MATLAB 图形界面设计基本控件
6.4 MATLAB 界面菜单系统设计 6.5 可视界面开发工具 GUIDE 介绍 6.6 程序设计举例与习题
6.4 MALTAB 界面菜单系统设计源自文库
菜单例子
hf=figure('Name', 'Menu Test Window', 'NumberTitle', 'off', 'MenuBar', 'none'); hmfile=uimenu(hf, 'label', '&File'); hmhelp=uimenu(hf, 'label', '&Help'); uimenu(hmfile, 'label', '&New', 'callback', 'disp(''New Item Selected'')'); uimenu(hmfile, 'label', '&Open', 'callback', 'disp(''Open Item Selected'')'); hmsav=uimenu(hmfile, 'label', '&Demo', 'Enable', 'off'); uimenu(hmsav, 'label', 'Filter Demo', 'callback', 'filtdem2;'); uimenu(hmsav, 'label', 'Filtering Demo', 'callback', 'filtdem;'); uimenu(hmfile, 'label', 'Save &As', 'callback', 'key=4; filesys;'); uimenu(hmfile, 'label', '&Exit','separator','on', 'callback', 'close(hf)'); uimenu(hmhelp, 'label', 'About...', 'callback', ['disp(''myhelp''); set(hmsav, ''Enable'',''on'')']);
该例子创建一按纽,按下时清除当前坐标轴
下例创建弹出菜单,根据选择不
同项目执行不同操作,回调函数 setmap.m见右所示。
hpop = uicontrol('Style', ‘listbox',... 'String', 'hsv|hot|cool|gray',... 'Position', [20 320 100 50],... 'Callback', 'setmap');
6.2 MATLAB 标准对话框
• 文件对话框 [fname, pname]=uigetfile(ffilter, strTitle, x, y) >> [fname, pname]=uigetfile('*.m;*.txt;*.c', 'Please select a file name') fname =diff.m pname =F:\MATLAB6p1\work\@polynom\
符号后面的字符在显示时有一个下划线修饰,这使得用
户可以用键盘键容易地激活相应的菜单项。 • 回调函数 Callback:它可以为一个函数名称,也可以是
一组 MATLAB 命令。在该菜单被选中以后, MATLAB
将自动地调用此回调函数来作出对相应菜单项的响应, 如果没有设置一个合适的回调函数,则此菜单项也将失 去其应有的意义。
也可以用图形界面的形式设置 首先用下述命令画出一波形 t=0:0.1:2*pi;y=sin(t);plot(t,y) 再选择图形窗口下 Edit/Figure Property… 菜单 将弹出窗口属性对话框,并可以看到对象的层次关系以及 可以编辑所选择的任何对象的属性。 注意不是所有属性都可以在图形界面上设置,但都可以用 set 命令来进行设置。
6.2 MATLAB 标准对话框
• 文件写对话框 [fname, pname]=uiputfile(ffilter, strTitle, x, y) [filename, pathname] = uiputfile('*.m;*.mdl;*.mat', 'Save As')
6.2 MATLAB 标准对话框
6.1 MATLAB 图形界面编程基础
窗口对象 figure
每一个窗口对象 figure 下可以有4种对象,即菜单 uimenu 对象、控件 uicontrol 对象、坐标轴 axes 对象和右键快捷 菜单 uicontextmenu 对象。
• • • • •
h=figure; figure(h); gcf; get(h); set(h);
6.1 MATLAB 图形界面编程基础
MATLAB 语言提供了面向对象的图形界面设计方法。 对象之间的关系如下图所示。
root
figure
axes
uicontrol
uim enu
uicontextm enu
line
text
surface
im age
light
patch
rectangle
6.1 MATLAB 图形界面编程基础
• 颜色设置对话框 c=uisetcolor; 或 c=uisetcolor(c0); >> uisetcolor ans = 0.5020 1.0000 0
6.2 MATLAB 标准对话框
• 字体设置对话框 h=uisetfont(h_Text, strTitle) 其中 h_Text 为要改变的字符句柄,strTitle为对话框标题 >> uisetfont ans = FontName: 'Arial' FontUnits: 'points'
h =uimenu( parent_menu_handle, 'PropertyName1', value1, 'PropertyName2', value2,...)
6.4 MALTAB 界面菜单系统设计
菜单对象的属性也有许多,最重要的有以下两个 • 菜单条的提示名称 Label:它可以是一个任意字符串。在 菜单项提示的字符串中允许用户使用 & 标志,以表示该
val = get(hpop,'Value'); if val == 1 colormap(hsv) elseif val == 2 colormap(hot) elseif val == 3 colormap(cool) elseif val == 4 colormap(gray) end
6.4 MALTAB 界面菜单系统设计
字符串,表示 MATLAB函数或命令
6.3 MATLAB 图形界面设计基本控件
控件使用例子 h = uicontrol('Style', 'pushbutton', 'String', 'Clear',...
'Position', [20 150 100 70], 'Callback', 'cla');
WindowButtonUpFcn
窗口建立时的响应函数 窗口对象删除时的响应函数 键盘键按下时的响应函数 鼠标按键按下时的响应函数
鼠标按键释放时的响应函数
WindowButtonMotionFcn 鼠标按键移动时的响应函数
6.1 MATLAB 图形界面编程基础
• • • • • • • • • • • • • 根对象属性详细的资料见 Root Property帮助文档 窗口对象属性详细的资料见 figure 函数的帮助文档 坐标轴对象属性详细的资料见 axes 函数的帮助文档 菜单对象属性详细的资料见 uimen 函数的帮助文档 控件对象属性详细的资料见 uicontrol 函数的帮助文档 右键菜单对象见 uicontextmenu 函数的帮助文档 线对象属性详细的资料见 line 函数的帮助文档 文字对象属性详细的资料见 text 函数的帮助文档 表面图对象属性详细的资料见 surface 函数的帮助文档 图像对象属性详细的资料见 image 函数的帮助文档 光源对象属性详细的资料见 light 函数的帮助文档 三维块对象属性详细的资料见 patch 函数的帮助文档 矩形对象属性详细的资料见 rectangle 函数的帮助文档
6.3 MATLAB 图形界面设计基本控件
控件的其他重要的属性见下表 属性名 CData String Enable Style Value Callback 含义 真彩色位图,该位图标 注在控件上 控件标签,或listbox 或 popupmenu的项 使能控制 风格,含义如前所示 listbox或 popupmenu取 值情况 响应控件的回调函数 取值情况 一个矩阵 字符串 on, off, inactive 见前页
相关文档
最新文档