MATLAB-GUI图形用户界面设计(1).ppt
《MATLAB-GUI图形用户界面设计(1).ppt》由会员分享,可在线阅读,更多相关《MATLAB-GUI图形用户界面设计(1).ppt(39页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、7/5/202231) 分析界面所要实现的主要功能,明确设计任务。分析界面所要实现的主要功能,明确设计任务。2) 绘界面草图,注意从使用者的角度来考虑界面布局。绘界面草图,注意从使用者的角度来考虑界面布局。3) 利用利用GUI设计工具制作静态界面。设计工具制作静态界面。4) 编写动态功能程序。编写动态功能程序。注意:注意:1) 先完成大致界面布局,再编写功能程序。先完成大致界面布局,再编写功能程序。2) 界面风格要一致,且符合使用习惯。例如,一般习惯图形界面风格要一致,且符合使用习惯。例如,一般习惯图形区在上面或左面,控制区在下面或右面等等。区在上面或左面,控制区在下面或右面等等。7/5/20
2、224例如,以本次试验的内容例如,以本次试验的内容“计算器计算器”为例。为例。1) 功能分析:完成数字的四则运算,以及一部分常用的科学功能分析:完成数字的四则运算,以及一部分常用的科学计算:计算:sin, cos, log等等。等等。2) 界面草图:可以有多种风格的界面。给出几种设计草图。界面草图:可以有多种风格的界面。给出几种设计草图。草图一草图一草图二草图二草图三草图三3) 利用利用GUI设计工具实现草图的布局,设计工具实现草图的布局,caculator.fig。4) 编写相应的程序完成计算器的各项功能,编写相应的程序完成计算器的各项功能, caculator.m。7/5/20225MAT
3、LAB6.5版本的版本的GUI设计工具较前面的版本有很大的设计工具较前面的版本有很大的改善,设计界面变化很大。改善,设计界面变化很大。打开打开GUI设计工作台的命令:设计工作台的命令:guide%打开设计工作台启动界面打开设计工作台启动界面guide file%在工作台中打开文件名为在工作台中打开文件名为file的用户界面的用户界面菜单项菜单项 File:New-GUI %打开设计工作台启动界面打开设计工作台启动界面注意:注意:guide命令中文件名不区分大小写。命令中文件名不区分大小写。打开的打开的GUI启动界面提供新建界面启动界面提供新建界面( Create New GUI )或或打开已有
4、界面文件打开已有界面文件( Open Existing GUI )的属性页。新建界面的属性页。新建界面可以选择空白界面、包含有控件的模板界面、包含有轴对象可以选择空白界面、包含有控件的模板界面、包含有轴对象和菜单的模板界面、标准询问窗口等选项。和菜单的模板界面、标准询问窗口等选项。选择任意一项都会打开选择任意一项都会打开GUI设计工作台,对界面静态组设计工作台,对界面静态组成部分进行的具体的修改都在工作台实现。成部分进行的具体的修改都在工作台实现。7/5/20226GUI设计工具的启动界面设计工具的启动界面新建界面的选项预览窗口是否在新建时保存文件最近打开的界面文件的列表打开文件浏览器7/5/
5、20227GUI设计工作台设计工作台设计工作区主要由4个功能区,六个实用工具组成控件选择区菜单条工具条对齐工具文件编辑菜单编辑对象属性对象列表运行界面工作区缩放句柄7/5/20228对象选择按钮对象选择按钮,用来选取工作区上分布的控件。,用来选取工作区上分布的控件。单功能按键单功能按键,按下操作代表一定的功能实现。,按下操作代表一定的功能实现。双位按键双位按键,代表,代表“开开”“”“关关”两种状态。两种状态。互斥选择按钮互斥选择按钮,多个选项互斥选择时使用。,多个选项互斥选择时使用。互容选择按钮互容选择按钮,同时选中多个选项时使用。,同时选中多个选项时使用。编辑文本框编辑文本框,可以自由输入
6、字符,编辑字符串,可以自由输入字符,编辑字符串静态文本框静态文本框,用于显示注释说明用文字,不可编辑。,用于显示注释说明用文字,不可编辑。滑动块滑动块,利用游标滑动,可以获取不同的值。,利用游标滑动,可以获取不同的值。控件区域框控件区域框,用于对控件区域进行标识。,用于对控件区域进行标识。列表框列表框,提供多个可供选择的选项,可以互容选择。,提供多个可供选择的选项,可以互容选择。弹出框弹出框,带有多个选项,只能选择其中一项。,带有多个选项,只能选择其中一项。轴对象轴对象,用来显示图形。,用来显示图形。用户控件列表:用户控件列表:7/5/20229以以“计算器计算器”界面草图一为例。界面草图一为
7、例。1. 初步布局初步布局,根据草图将控件选择区的相应控件拖拉到设计,根据草图将控件选择区的相应控件拖拉到设计工作区的相应位置。工作区的相应位置。7/5/2022102. 修改控件属性修改控件属性每一个控件都不可能是完全符合界面设计要求的,需要每一个控件都不可能是完全符合界面设计要求的,需要对其属性进行设置,以获得所需的界面显示效果。对其属性进行设置,以获得所需的界面显示效果。 可以通过双击该控可以通过双击该控件,或利用件,或利用GUI设计工设计工具的下拉菜单具的下拉菜单View: Property Inspector打打开控件属性对话框。属开控件属性对话框。属性对话框具有良好的交性对话框具有
8、良好的交互界面,以列表的形式互界面,以列表的形式给出该控件的每一项属给出该控件的每一项属性。性。 例如右图是例如右图是“+”按按钮的属性列表。钮的属性列表。7/5/202211下面对各控件的主要属性进行一下说明。下面对各控件的主要属性进行一下说明。1) 双击设计工作区的空白部分,打开整个图形窗的属性框。双击设计工作区的空白部分,打开整个图形窗的属性框。MunuBar: none%图形窗是否使用标准菜单图形窗是否使用标准菜单Name: caculator %图形窗名称图形窗名称Resize: off%图形窗不能缩放图形窗不能缩放Tag: mainWnd%图形窗的句柄图形窗的句柄 handles.
9、mainWnd2) 静态文本编辑框的属性设置。静态文本编辑框的属性设置。FontSize: 15%字体大小字体大小FontUnits: points%字体大小的度量单位字体大小的度量单位HorizontalAlignment: Center%对齐方式对齐方式String: Expression%待显示的字符待显示的字符Tag: text1%该静态文本框的句柄该静态文本框的句柄handles.text1Units: points%文本框度量单位文本框度量单位 Units或或FontUnits可选择:可选择:inches(英寸英寸),centimeters (厘米厘米), normalized(按
10、比例缩放按比例缩放),points(点阵点阵), pixels (像素像素), characters(字符字符)。如果选择。如果选择normalized,那么当,那么当resize设为设为on时,控件或字体大小随着整个窗口的缩放而改时,控件或字体大小随着整个窗口的缩放而改变。变。 水平对齐方式水平对齐方式 HorizontalAlignment可以是可以是left, center, right。 控件句柄控件句柄Tag有默认值,建议修改为带有具体含义的字有默认值,建议修改为带有具体含义的字符串,以增加程序可读性和方便回调函数调用。符串,以增加程序可读性和方便回调函数调用。7/5/2022123
11、) 可编辑文本框的属性设置。可编辑文本框的属性设置。String: 0%初始状态下显示数字初始状态下显示数字0Tag: pExp%可编辑文本框的句柄可编辑文本框的句柄其它和静态文本框相同其它和静态文本框相同4) 单功能按钮属性设置。以按钮单功能按钮属性设置。以按钮“1” 为例为例String: 1Tag: p1其它和静态文本框相同。其它和静态文本框相同。3. 精细调整精细调整利用对齐工具,排列控件的位置,使控件的大小、位置更利用对齐工具,排列控件的位置,使控件的大小、位置更加协调。加协调。7/5/2022134. 界面激活界面激活保存静态界面后,利用工具栏上的运行按钮激活该界面。保存静态界面后
12、,利用工具栏上的运行按钮激活该界面。激活后可以看到两个同名文件:激活后可以看到两个同名文件:caculator.m和和caculator.fig。 caculator.m文件在文件在M文本编辑器中打开,文本编辑器中打开, caculator.fig文文件显示为操作界面,但是无法实现任何功能,需要编写回调件显示为操作界面,但是无法实现任何功能,需要编写回调函数。函数。7/5/202214在在M文本编辑器中打开文本编辑器中打开caculator.m文件,可以看到自动文件,可以看到自动生成的回调函数,该函数的命名利用对象句柄进行区分,没生成的回调函数,该函数的命名利用对象句柄进行区分,没有任何执行语
13、句。有任何执行语句。回调函数:回调函数:Tag_Callback(hObject, eventdata, handles),通过加入自己的处理语句,可以实现所需的功能。通过加入自己的处理语句,可以实现所需的功能。其中:其中:hObject是该控件的句柄;是该控件的句柄;eventdata是备用参数,目前没有定义;是备用参数,目前没有定义;handles是用户数据,本身是一个结构数组,存放了当前窗口是用户数据,本身是一个结构数组,存放了当前窗口的所有对象的句柄,包括图形窗本身、所有控件和菜单的句的所有对象的句柄,包括图形窗本身、所有控件和菜单的句柄。并且可以增加一些域用来传递用户数据。柄。并且可
14、以增加一些域用来传递用户数据。利用利用guidata( H, handles )可以更新可以更新 H 的用户数据。的用户数据。7/5/202215先设先设5个参数个参数handles.start=1; %不能一开始输入运算符号不能一开始输入运算符号handles.term=0; %运算完,进行新的运算运算完,进行新的运算handles.repeat=0; %不能重复输入运算符号不能重复输入运算符号handles.point=0; %不能重复输入点不能重复输入点handles.bracket=0; %输入输入sin,cos,log,log10后不能在输后不能在输入数字,只能输入运算符号入数字,只
15、能输入运算符号7/5/202216只用编0的程序来说明,其他从1到9都是一样的程序function pushbutton0_Callback(hObject, eventdata, handles)function pushbutton0_Callback(hObject, eventdata, handles)% hObject handle to pushbutton0 (see GCBO)% hObject handle to pushbutton0 (see GCBO)% eventdata reserved - to be defined in a future version of
16、 MATLAB% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% handles structure with handles and user data (see GUIDATA)if(handles.start) %if(handles.start) %如果没有数字按入,一开始运算符号无法输入如果没有数字按入,一开始运算符号无法输入 content=;content=; set(handl
17、es.edit,string,content); % set(handles.edit,string,content); %把空的内容显示出来把空的内容显示出来 handles.start=0;handles.start=0; guidata(hObject, handles); % guidata(hObject, handles); %更新句柄结构更新句柄结构endendcontent=get(handles.edit,string); %content=get(handles.edit,string); %把前面输入的内容保存在把前面输入的内容保存在contentcontent中中 if
18、(handles.term) %if(handles.term) %计算结束后,就为空,继续下一次输入计算结束后,就为空,继续下一次输入 content=;content=; handles.term=0; handles.term=0; guidata(hObject, handles); guidata(hObject, handles);endendif(handles.bracket) %sin,cos,log,log10if(handles.bracket) %sin,cos,log,log10输入后,不能在接数字,只能接运算输入后,不能在接数字,只能接运算符号符号 guidata(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- MATLAB GUI 图形 用户界面 设计
限制150内