第11章图形用户界面GUI设计
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2.界面布局 添加需要的控件摆放到输出编辑器“untitled.fig”中合适的位置,对多个同样的控件, 为摆放整齐、选择等间距,可以打开工具栏中的排列“Align Objects”图标,进行各 种方式处理。并可用鼠标选中右下角的版面大小控制句柄来缩放版面。
首页
选择4个静态文本块“Static Text”,2个编辑文本块“Edit Text”,4个按钮
4.帮助对话框(helpdlg) 格式 helpdlg(HelpString,DlgName) 说明 HelpString:显示帮助信息的字符串;DlgName:对话框标题(字符串)。
5.进度条对话框(waitbar) 格式 waitbar(X, 'title') 说明 X为进度条的比例长度,其值必须在0都1之间;title:显示提示信息
首页
11.4 对话框设计
1.信息对话框(msgbox) 格式 msgbox(Message,Title,Icon) 说明 Message:显示的信息(字符串);Title:对话框标题(字符串);Icon: 对话框图标,可选择'none'(默认值,无图标)、'error'(错误提示图 标)、'help'(帮助提示图标)、'warn'(警告提示图标)和'custom'(用
首页
(7)保存界面并运行 界面名称变为“gui1.fig”,如图所示。
(8)改写界面名称(用中文表示)。
在输出编辑器界面中,单击鼠标右键,选择“Property Inspector”,即可打开界面属性窗
口“Inspector”。对窗口的“Name”(标题)属性改为“图形界面1”,如图所示。
首页
(10)通过菜单编辑窗口上的按钮“View”,可以查看各菜单项的回调 函数,也就是Callback 函数。也可以在M文件gui1.m 中找到回调函数, 比 如 “ 打 开 ” 的 “ Tag” 属 性 是 “ m_file_open” , 那 么 它 对 应 的 Callback 函数的名字就是“m_file_open_Callback”。在回调函数程序的 下方编写代码,就可激活该菜单项的功能。
11-1所示。
2. 控件属性 每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,即属 性。控件属性包括属性名和属性值,其作用如表11-2所示。
11.1.4 界面的存储及运行
点击输出编辑器界面,工具栏中保存图标,或者选择菜单“Fiel”→“Save as”命令, 弹出“Save as”对话框,填写用户定义的文件名.(如gui) 点击“保存”按钮,这时输出编辑器界面变成名称为“gui.fig”的窗口, 如图所示,
首页
11.3 GUI菜单设计
利用GUIDE输出编辑器工具栏中的菜单图标创建带有“菜单栏”的GUI界
面的方法如下:
(1)选择空模板“Blank GUI”,点击“OK”,即可打开GUIDE输出编 辑器,如图所示。
首页
(2)点击工具栏上的菜单编辑器图标,打开菜单编辑器“Menu Editor”窗口,如图所示,并在图中我们给出了工具栏图标的功能。
首页
2.GUIDE界面组成
“GUIDE Quick Start”界面包括两个选项:“Create New GUI”(创建新的图形用户 界面)和“Open Existing GUI”(打开已存在的图形用户界面)。其中“Create New GUI”提供四种基本类型的GUI模板: Black GUI(Default):空白模板(缺省)。 GUI with Uicontrols:带有控件对象的GUI模板。 GUI with Axes and Menu:带有坐标轴与菜单的GUI模板。 Modal Question Dialog:问答式对话框的GUI模板。 通过这些模板可快速创建GUI。选定一种模板以后,它的预览效果显示在右边的面板中。 譬如选中“GUI with Uicontrols”,显示在面板中的预览效果如图所示
[FileName,PathName,FilterIndex] = uiputfile(FilterSpec,Title,File)
保存的同时会在当前路径下自动产生两个文件:一个是“gui. fig”文件,另一个是 “gui.m”文件。其中,“gui.fig”文件包含对GUI和GUI组件的完整描述,它也是打 开输出编辑器界面“gui.fig”窗口的文件;“gui.m”文件包含控制GUI的代码、组 件的回调函数。
首页
点击运行图标,显示结果就是我们所要设计的GUI功能界面,如图所示。
8.问题对话框(questdlg) 格式 questdlg(Question,Title ) %默认值,回答按钮有三个:Yes、No、Cancel questdlg(Question,Title,Btn1,Btn2,Btn3,Default) %自定义回答按钮 说明 Question:显示的问题信息(字符串);Title:对话框标题(字符串)。
首页
11.1.5 回调函数
实现GUI的基本机制是对控件的Callback(回调函数)属性编程,当在设计界面上 选中一个控件后,选择菜单栏中的“View”→“View Callbacks”命令,或点击鼠标 右键,从弹出的活动菜单选择“View Callback”,就会出现“Callbacks”、 “CreateFcn”、“DeleteFcn”、“ButtonDownFcn”和“KeyPressFcn”子选单 项,这些选项都是用来编写回调函数的
首页
11.2 GUI的创建
创建GUI主要包括设计GUI(界面布局)、控件属性设置、回调函数编写和保存运行等步骤。下面以 简单四则运算器界面为例,说明用GUIDE创建GUI的全过程。
1.打开输出编辑器
点击MATLAB主界面工具栏GUIDE图标,选择空模板“Blank GUI”,点击“OK”,即可打开 GUIDE的输出编辑器设计界面“untitled.fig”。
首页
9 打开文件对话框(uigetfile) 格式
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,Title) [FileName,PathName,FilterIndex] = uigetfile(FilterSpec,Title,File)
说明 FilterSpec:文件类型设置;Title:对话框标题;File:默认指向的文件名; FileName:返回的文件名;PathName:返回的文件的路径名;FilterIndex:选择的
文件类型。
10.文件保存对话框(uiputfile)
格式 [FileName,PathName,FilterIndex] = uiputfile(FilterSpec,Title)
首页
(5)在新建的“文件”菜单下添加子菜单项:“打开”、“保存”和“退出”,且设置其属性,
(6)继续添加其它菜单项。 点击“Menu Editor”界面中工具栏新建图标,依次添加“编辑”、“查看”、“工具”、“帮助” 菜单项,并设定各自“Tag”选项(譬如“帮助”中的“Tag”选项设为“m_help”,其余类 似),如图所示。当编辑完所有菜单项以后,单击图中的“OK”按钮。
“Pushbutton按钮”,分别用鼠标拖到“untitled.fig”窗口中,其摆放位置 如图所示。
首页
3.编辑控件的属性
利用属性查看器(Property Inspector),设置各个控件的参数。
4.存储GUIDE输出编辑器界面 点击菜单栏中的保存图标,在“Save as”对话框中填写文件名“yunsuanqi”, 单击“保存”按钮,则图的界面最上角的名称变为“yunsuanqi.fig”。此时在当 前目录下,MATLAB将自动生成“yunsuanqi.m”和“yunsuanqi.fig”两个文件。
第11章 图形用户界面(GUI)设计
11.1 GUIDE界面环境 11.2 GUI的创建
11.3 GUI菜单设计
11.4 对话框设计
11.5 综合案例
11.1 GUIDE界面环境
E启动 选择MATLAB主界面菜单“File”→“New”→“GUI”命令,或点击工具栏GUIDE图标, 或直接在MATLAB命令窗口输入guide,都可弹出对话窗“GUIDE Quick Start”界面, 如图所示。
首页
(3)在界面“Menu Bar”选项卡中,点击“To add a menu,…”处,或者
工具栏中的图标,则窗口中出现菜单图标“Untitled 1”,再点击图标 “Untitled 1”,则显示带有菜单属性“Menu Properties”的界面,如图所
示。
(4)将图中“Label”选项的菜单名“Untitled 1”改为“文件”, “Tag”栏选项改为“m_file”,“Accelerator: Ctrl+”栏选项 改为“F”,其它选项默认,设置如图所示。
7.列表对话框(listdlg)
格式 [sel,ok]=listdlg ('ListString',S)
说明 'ListString'设置备选项,备选项S为字符串或者字符串数组。输入参数 项 还 可 以 添 加 其 它 成 对 的 属 性 及 属 性 值 。 如 : 'Name' 设 置 对 话 框 标 题 ; 'PromptString'设置提示字符;'SelectionMode'设置是否多选,'single'为单选, 'multiple'为多选。 文件选择成功后,单击“OK”按钮,系统将选择好的文件序号存入相应向量sel,参数 ok的值为1。
户自创图标)。
2.错误对话框(errordlg)
格式 errordlg(ErrorString,DlgName) 说明 ErrorString:显示错误信息的字符串;DlgName:对话框标题(字符串)。
首页
3.警告对话框(warndlg) 格式 warndlg(WarnString,DlgName ) 说明 WarnString:显示警告信息的字符串;DlgName:对话框标题(字 符串)
11.1.2 输出编辑器
在“GUIDE Quick Start”对话窗中,点击“Create New GUI”选项卡,选择 “Black GUI”选项,打开的就是“带有空白GUI模板的输出编辑器”窗口,如图所示。
11.1.3 控件功能与属性
1.控件与组件的功能 输出编辑器中的控件大致可分为两种:一种为动作控件,鼠标点击这些控件时会产生相应 的响应;另一种为静态控件,是一种不产生响应的控件,如文本框等。控件的功能如表
5.编写GUI回调函数(Callback)代码
首页
6.运行结果产生GUI功能界面
点击文件“yunsuanqir.m”工具栏运行按钮,或点击名称为“yunsuanqi.fig”
界面中工具栏运行按钮,运行结果产生的具有操作功能的GU I界面,如图所示。
若在图中第一个编辑文本框中填写450,第二个编辑文本框中填写567,点击“加法” 按钮,则立即显示出结果为1017,如图所示。
首页
6.输入对话框(inputdlg)
格式 inputdlg(Prompt,Title,Numlines,DefAns,Resize)
说明 Prompt:显示提示信息(单元数组);Title:对话框标题(字符串);Numlines: 指定输入数据的行数;DefAns:是一单元数组,存储每个输入数据的默认值,元 素个数必须与Prompt 所定义的输入窗口数相同 ,所有元素必须是字符串; Resize:设定对话框尺寸是否可调节(on/off)。
CallBack:为一般回调函数,因不同的控件而不同,譬如,按钮被按下时发生、下拉 框改变值时发生、sliderbar 拖动时发生等等。大多数MATLAB程序代码都在这里编写, 它实现诸多功能。 CreateFcn:是在控件对象创建的时候发生(一般为初始化样式,颜色,初始值等)。 DeleteFcn:是在空间对象被清除的时候发生。 ButtonDownFcn:为鼠标点击事件的回调函数。 KeyPressFcn:为按键事件的回调函数。
首页
选择4个静态文本块“Static Text”,2个编辑文本块“Edit Text”,4个按钮
4.帮助对话框(helpdlg) 格式 helpdlg(HelpString,DlgName) 说明 HelpString:显示帮助信息的字符串;DlgName:对话框标题(字符串)。
5.进度条对话框(waitbar) 格式 waitbar(X, 'title') 说明 X为进度条的比例长度,其值必须在0都1之间;title:显示提示信息
首页
11.4 对话框设计
1.信息对话框(msgbox) 格式 msgbox(Message,Title,Icon) 说明 Message:显示的信息(字符串);Title:对话框标题(字符串);Icon: 对话框图标,可选择'none'(默认值,无图标)、'error'(错误提示图 标)、'help'(帮助提示图标)、'warn'(警告提示图标)和'custom'(用
首页
(7)保存界面并运行 界面名称变为“gui1.fig”,如图所示。
(8)改写界面名称(用中文表示)。
在输出编辑器界面中,单击鼠标右键,选择“Property Inspector”,即可打开界面属性窗
口“Inspector”。对窗口的“Name”(标题)属性改为“图形界面1”,如图所示。
首页
(10)通过菜单编辑窗口上的按钮“View”,可以查看各菜单项的回调 函数,也就是Callback 函数。也可以在M文件gui1.m 中找到回调函数, 比 如 “ 打 开 ” 的 “ Tag” 属 性 是 “ m_file_open” , 那 么 它 对 应 的 Callback 函数的名字就是“m_file_open_Callback”。在回调函数程序的 下方编写代码,就可激活该菜单项的功能。
11-1所示。
2. 控件属性 每种控件都有一些可以设置的参数,用于表现控件的外形、功能及效果,即属 性。控件属性包括属性名和属性值,其作用如表11-2所示。
11.1.4 界面的存储及运行
点击输出编辑器界面,工具栏中保存图标,或者选择菜单“Fiel”→“Save as”命令, 弹出“Save as”对话框,填写用户定义的文件名.(如gui) 点击“保存”按钮,这时输出编辑器界面变成名称为“gui.fig”的窗口, 如图所示,
首页
11.3 GUI菜单设计
利用GUIDE输出编辑器工具栏中的菜单图标创建带有“菜单栏”的GUI界
面的方法如下:
(1)选择空模板“Blank GUI”,点击“OK”,即可打开GUIDE输出编 辑器,如图所示。
首页
(2)点击工具栏上的菜单编辑器图标,打开菜单编辑器“Menu Editor”窗口,如图所示,并在图中我们给出了工具栏图标的功能。
首页
2.GUIDE界面组成
“GUIDE Quick Start”界面包括两个选项:“Create New GUI”(创建新的图形用户 界面)和“Open Existing GUI”(打开已存在的图形用户界面)。其中“Create New GUI”提供四种基本类型的GUI模板: Black GUI(Default):空白模板(缺省)。 GUI with Uicontrols:带有控件对象的GUI模板。 GUI with Axes and Menu:带有坐标轴与菜单的GUI模板。 Modal Question Dialog:问答式对话框的GUI模板。 通过这些模板可快速创建GUI。选定一种模板以后,它的预览效果显示在右边的面板中。 譬如选中“GUI with Uicontrols”,显示在面板中的预览效果如图所示
[FileName,PathName,FilterIndex] = uiputfile(FilterSpec,Title,File)
保存的同时会在当前路径下自动产生两个文件:一个是“gui. fig”文件,另一个是 “gui.m”文件。其中,“gui.fig”文件包含对GUI和GUI组件的完整描述,它也是打 开输出编辑器界面“gui.fig”窗口的文件;“gui.m”文件包含控制GUI的代码、组 件的回调函数。
首页
点击运行图标,显示结果就是我们所要设计的GUI功能界面,如图所示。
8.问题对话框(questdlg) 格式 questdlg(Question,Title ) %默认值,回答按钮有三个:Yes、No、Cancel questdlg(Question,Title,Btn1,Btn2,Btn3,Default) %自定义回答按钮 说明 Question:显示的问题信息(字符串);Title:对话框标题(字符串)。
首页
11.1.5 回调函数
实现GUI的基本机制是对控件的Callback(回调函数)属性编程,当在设计界面上 选中一个控件后,选择菜单栏中的“View”→“View Callbacks”命令,或点击鼠标 右键,从弹出的活动菜单选择“View Callback”,就会出现“Callbacks”、 “CreateFcn”、“DeleteFcn”、“ButtonDownFcn”和“KeyPressFcn”子选单 项,这些选项都是用来编写回调函数的
首页
11.2 GUI的创建
创建GUI主要包括设计GUI(界面布局)、控件属性设置、回调函数编写和保存运行等步骤。下面以 简单四则运算器界面为例,说明用GUIDE创建GUI的全过程。
1.打开输出编辑器
点击MATLAB主界面工具栏GUIDE图标,选择空模板“Blank GUI”,点击“OK”,即可打开 GUIDE的输出编辑器设计界面“untitled.fig”。
首页
9 打开文件对话框(uigetfile) 格式
[FileName,PathName,FilterIndex] = uigetfile(FilterSpec,Title) [FileName,PathName,FilterIndex] = uigetfile(FilterSpec,Title,File)
说明 FilterSpec:文件类型设置;Title:对话框标题;File:默认指向的文件名; FileName:返回的文件名;PathName:返回的文件的路径名;FilterIndex:选择的
文件类型。
10.文件保存对话框(uiputfile)
格式 [FileName,PathName,FilterIndex] = uiputfile(FilterSpec,Title)
首页
(5)在新建的“文件”菜单下添加子菜单项:“打开”、“保存”和“退出”,且设置其属性,
(6)继续添加其它菜单项。 点击“Menu Editor”界面中工具栏新建图标,依次添加“编辑”、“查看”、“工具”、“帮助” 菜单项,并设定各自“Tag”选项(譬如“帮助”中的“Tag”选项设为“m_help”,其余类 似),如图所示。当编辑完所有菜单项以后,单击图中的“OK”按钮。
“Pushbutton按钮”,分别用鼠标拖到“untitled.fig”窗口中,其摆放位置 如图所示。
首页
3.编辑控件的属性
利用属性查看器(Property Inspector),设置各个控件的参数。
4.存储GUIDE输出编辑器界面 点击菜单栏中的保存图标,在“Save as”对话框中填写文件名“yunsuanqi”, 单击“保存”按钮,则图的界面最上角的名称变为“yunsuanqi.fig”。此时在当 前目录下,MATLAB将自动生成“yunsuanqi.m”和“yunsuanqi.fig”两个文件。
第11章 图形用户界面(GUI)设计
11.1 GUIDE界面环境 11.2 GUI的创建
11.3 GUI菜单设计
11.4 对话框设计
11.5 综合案例
11.1 GUIDE界面环境
E启动 选择MATLAB主界面菜单“File”→“New”→“GUI”命令,或点击工具栏GUIDE图标, 或直接在MATLAB命令窗口输入guide,都可弹出对话窗“GUIDE Quick Start”界面, 如图所示。
首页
(3)在界面“Menu Bar”选项卡中,点击“To add a menu,…”处,或者
工具栏中的图标,则窗口中出现菜单图标“Untitled 1”,再点击图标 “Untitled 1”,则显示带有菜单属性“Menu Properties”的界面,如图所
示。
(4)将图中“Label”选项的菜单名“Untitled 1”改为“文件”, “Tag”栏选项改为“m_file”,“Accelerator: Ctrl+”栏选项 改为“F”,其它选项默认,设置如图所示。
7.列表对话框(listdlg)
格式 [sel,ok]=listdlg ('ListString',S)
说明 'ListString'设置备选项,备选项S为字符串或者字符串数组。输入参数 项 还 可 以 添 加 其 它 成 对 的 属 性 及 属 性 值 。 如 : 'Name' 设 置 对 话 框 标 题 ; 'PromptString'设置提示字符;'SelectionMode'设置是否多选,'single'为单选, 'multiple'为多选。 文件选择成功后,单击“OK”按钮,系统将选择好的文件序号存入相应向量sel,参数 ok的值为1。
户自创图标)。
2.错误对话框(errordlg)
格式 errordlg(ErrorString,DlgName) 说明 ErrorString:显示错误信息的字符串;DlgName:对话框标题(字符串)。
首页
3.警告对话框(warndlg) 格式 warndlg(WarnString,DlgName ) 说明 WarnString:显示警告信息的字符串;DlgName:对话框标题(字 符串)
11.1.2 输出编辑器
在“GUIDE Quick Start”对话窗中,点击“Create New GUI”选项卡,选择 “Black GUI”选项,打开的就是“带有空白GUI模板的输出编辑器”窗口,如图所示。
11.1.3 控件功能与属性
1.控件与组件的功能 输出编辑器中的控件大致可分为两种:一种为动作控件,鼠标点击这些控件时会产生相应 的响应;另一种为静态控件,是一种不产生响应的控件,如文本框等。控件的功能如表
5.编写GUI回调函数(Callback)代码
首页
6.运行结果产生GUI功能界面
点击文件“yunsuanqir.m”工具栏运行按钮,或点击名称为“yunsuanqi.fig”
界面中工具栏运行按钮,运行结果产生的具有操作功能的GU I界面,如图所示。
若在图中第一个编辑文本框中填写450,第二个编辑文本框中填写567,点击“加法” 按钮,则立即显示出结果为1017,如图所示。
首页
6.输入对话框(inputdlg)
格式 inputdlg(Prompt,Title,Numlines,DefAns,Resize)
说明 Prompt:显示提示信息(单元数组);Title:对话框标题(字符串);Numlines: 指定输入数据的行数;DefAns:是一单元数组,存储每个输入数据的默认值,元 素个数必须与Prompt 所定义的输入窗口数相同 ,所有元素必须是字符串; Resize:设定对话框尺寸是否可调节(on/off)。
CallBack:为一般回调函数,因不同的控件而不同,譬如,按钮被按下时发生、下拉 框改变值时发生、sliderbar 拖动时发生等等。大多数MATLAB程序代码都在这里编写, 它实现诸多功能。 CreateFcn:是在控件对象创建的时候发生(一般为初始化样式,颜色,初始值等)。 DeleteFcn:是在空间对象被清除的时候发生。 ButtonDownFcn:为鼠标点击事件的回调函数。 KeyPressFcn:为按键事件的回调函数。