第7章MATLAB图形界面设计

合集下载

用MATLAB制作图形用户界面

用MATLAB制作图形用户界面

用MATLAB制作图形用户界面

MATLAB是一种流行的科学计算软件,它不仅在数值计算和数据分析领域有着广泛的应用,还提供了一种高效的界面设计工具,使得用户可以自定义和制作自己的图形用户界面(GUI)。通过创建自定义的GUI,用户可以简化复杂操作,提高工作效率,下面就让我们来学习如何用MATLAB制作图形用户界面。

MATLAB的图形用户界面主要由以下几部分组成:

窗口:窗口是GUI的基本元素,它提供了一个空间,用户可以在其中添加和组织各种控件(如按钮、文本框等)。

控件:控件是GUI中的基本元素,它们可以接收用户的输入,并在窗口中显示出来。例如,按钮、文本框、滑动条等都是常见的控件。菜单:菜单是GUI中的一种导航工具,它们可以链接到其他窗口或者函数,方便用户进行操作。

工具栏:工具栏是GUI中的一种快速执行工具,它们提供了一键执行常见操作的快捷方式。

下面就让我们通过一个简单的例子来学习如何用MATLAB制作一个简

单的图形用户界面:

打开MATLAB,在命令窗口输入“guide”,并按Enter键。这将打开GUI设计工具。

在打开的GUI设计工具中,选择“Blank GUI”并点击“OK”,进入GUI编辑器。

在GUI编辑器中,你可以看到一个空白的窗口和一些控件。你可以通过拖拽的方式将这些控件添加到窗口中。

选中你添加的控件,在右侧的“Properties”面板中,你可以修改控件的属性,如颜色、字体、大小等。

在设计完成后,点击“Save”按钮,保存你的GUI。此时,MATLAB会生成一个.fig文件和一个.m文件。其中.fig文件是GUI的图形文件,而.m文件包含了GUI的代码。

第7章 MATLAB图形界面设计

第7章 MATLAB图形界面设计

回调函数




在M文本编辑器中打开m文件,可以看到自动生成的 回调函数,该函数的命名利用对象句柄进行区分, 没有任何执行语句。 回调函数:Tag_Callback(hObject, eventdata, handles), 通过加入自己的处理语句,可以实现所需功能。 其中hObject是控件的句柄;eventdata是备用参数, 目前没有定义;handles是用户数据,本身是一个结 构数组,存放了当前窗口的所有对象的句柄,包括 图形窗本身、所有控件和菜单的句柄。并且可以增 加一些域用来传递用户数据。 利用guidata( H, handles )可以更新 H 的用户数据。

HorizontalAlignment: Center %对齐方式 String: Expression %待显示的字符 Tag: text1 %静态文本框句柄handles.text1 Units: points %文本框度量单位

3) 可编辑文本框的属性设置。 String: 0 %初始状态下显示数字0 Tag: pExp %可编辑文本框的句柄 其它和静态文本框相同 4) 单功能按钮属性设置。以按钮“1” 为例 String: 1 Tag: p1 其它和静态文本框相同。
7.2 GUI程序设计示例

本节通过示例,演示MATLAB的GUI程序设计。

matlab第7章图形用户界面设计PPT教学课件

matlab第7章图形用户界面设计PPT教学课件

2020/12/11
南京信息工程大学信息与控制学院
13
第7章 图形用户界面设计
§7.1 图形用户界面开发环境
7.1.3 用属性编辑器设置控件属性
1、打开属性编辑器 (1)用工具栏上的图标 (2)从View菜单中选择Property
Inspector 菜单项 (3)鼠标右键弹出菜单选择Property
MATLAB
2020/12/11
1
第7章 图形用户界面开发环境
§7.1 图形用户界面开发环境 §7.2 控件对象的属性 §7.3 对话框设计 §7.4 图形用户界面程序设计
2020/12/11
南京信息工程大学信息与控制学院
2
第7章 图形用户界面设计
§7.1 图形用户界面开发环境
Matlab6.1推出了全新的图形用户开发环境(GUI Development Environment,简称GUIDE),图形用户界面 开发环境提供了一组用于图形用户界面开发的工具,这些 工具包括: 布局编辑器(Layout Editor) 几何排列工具(Alignment Tool) 属性编辑器(Property Inspector) 对象浏览器(Object Browser) 菜单编辑器(Menu Editor)
§7.1 图形用户界面开发环境
7.1.1 布局编辑器
1、创建控件对象 一般步骤

MATLAB图形用户界面设计仿真等78910.

MATLAB图形用户界面设计仿真等78910.
目录
hfigcor=uimenu(hoption,'Label','&Figure Color','Separator','on'); uimenu(hfigcor,'Label','&Red','Accelerator','r','Call','set(gcf,''Color'',''r'');'); uimenu(hfigcor,'Label','&Blue','Accelerator','b','Call','set(gcf,''Color'',''b'');'); uimenu(hfigcor,'Label','&Yellow','Call','set(gcf,''Color'',''y'');'); uimenu(hfigcor,'Label','&White','Call','set(gcf,''Color'',''w'');'); %定义Quit菜单项 uimenu(gcf,'Label','&Quit','Call','close(gcf)');

第七章Matlab的图形用户界面GUI

第七章Matlab的图形用户界面GUI
第七章
Matlab的图形用户界面GUI Matlab的图形用户界面GUI 的图形用户界面
GUI设计工具简介 GUI设计工具简介 GUI向导设计 GUI向导设计 GUI程序设计 GUI程序设计
第一节
GUI设计工具简介 GUI设计工具简介
通常在开发一个应用程序时都会尽量做到界面友好、直观。 通常在开发一个应用程序时都会尽量做到界面友好、直观。最常 用的方法就是使用图形用户界面。 Matlab中 用的方法就是使用图形用户界面。在Matlab中,图形用户界面是一个 包含多种对象的图形窗口。用户必须对功能对象进行界面布局和编程, 包含多种对象的图形窗口。用户必须对功能对象进行界面布局和编程, 从而使用户在激活GUI的功能对象时能够执行相应的行为。 GUI的功能对象时能够执行相应的行为 从而使用户在激活GUI的功能对象时能够执行相应的行为。 Matlab为用户开发图形界面提供了一个方便 为用户开发图形界面提供了一个方便、 Matlab为用户开发图形界面提供了一个方便、高效的集成开发环 GUIDE( Environment)。 境GUIDE(Graphic User Interface Development Environment)。 GUIDE主要是一个界面设计工具集 Matlab将所有GUI的控件都集成在 主要是一个界面设计工具集, 将所有GUI GUIDE主要是一个界面设计工具集,Matlab将所有GUI的控件都集成在 这个环境中并提供界面外观、属性和行为响应方式的设置方法。 这个环境中并提供界面外观、属性和行为响应方式的设置方法。GUIDE 将用户设计好的GUI界面保存在一个FIG文件中, GUI界面保存在一个FIG文件中 将用户设计好的GUI界面保存在一个FIG文件中,同时还自动生成一个 包含GUI初始化和组件界面布局控制代码的M文件。这个M GUI初始化和组件界面布局控制代码的 包含GUI初始化和组件界面布局控制代码的M文件。这个M文件为实现回 调函数(当用户激活GUI某一个组件时执行的函数) GUI某一个组件时执行的函数 调函数(当用户激活GUI某一个组件时执行的函数)提供了一个参考框 这样既简化了GUI应用程序的创建工作, GUI应用程序的创建工作 架,这样既简化了GUI应用程序的创建工作,用户又可以直接使用这个 框架来编写自己的函数代码。 框架来编写自己的函数代码。

第七讲MATLAB图形用户界面(GUI)设计

第七讲MATLAB图形用户界面(GUI)设计

第七讲MATLAB图形⽤户界⾯(GUI)设计

第7讲MATLAB图形⽤户界⾯(GUI)设计

图形⽤户界⾯(GUI, Graphical User Interface)是由图形控件构建的⽤于⼈与计算机交互信息的界⾯。

在图形⽤户界⾯上,⽤户可以根据界⾯上的提⽰信息完成⾃⼰的⼯作,⽽不需要记忆⼤量繁琐的命令,只需通过⿏标、键盘等便捷的⽅式与计算机交互信息、选择想要运⾏的程序、控制程序的运⾏、实时显⽰图形信息。

MATLAB创建的图形⽤户界⾯对象有三类:

⽤户界⾯控件,如按钮、列表框、编辑框等;

下拉菜单,如菜单、⼦菜单;

内容菜单,如弹出式菜单。

⼀、命令⾏建⽴⽤户界⾯的⽅法

1、创建控件

命令:uicontrol

调⽤格式:

1)uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)

功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件;

2)h=uicontrol(‘PropertyName1’,value1, ‘PropertyName2’,value2,……)

功能:在当前图形⽤户的界⾯上,应⽤当前制定的属性值创建控件,并返回控件的句柄;

3)uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……)

功能:在句柄FIG指定的图形⽤户界⾯上,创建控件;

4)h=uicontrol(FIG, ‘PropertyName1’,value1, ‘PropertyName2’,value2,……) 功能:在句柄FIG指定的图形⽤户界⾯上,创建控件,并返回控件的句柄。

数字图像处理及应用(MATLAB)第7章

数字图像处理及应用(MATLAB)第7章

菜单编辑器窗口
Label:输入在菜单中要出现的名称。 Tag:同上,描述该菜单的身份属性。 Accelerator:Ctrl+:该功能可以通过右边 下三角标志,点 击后选择并设置快捷键,用户在按下键盘Ctrl和指定快捷键时会执 行该菜单的功能操作,选择 “None”表示不设置快捷键方式。 Callback:默认的“Callback”文本框是输入%automatic,这 样在执行GUI时,自动在该M文件中加入一个空的Callback子函数, 用户可以方便的在该M文件编辑器中编辑Callback函数。同时也可 以在该文本框中输入要执行的操作语句,但是代码长度会受到限制。 View按钮:用户可以点击打开该M文件中对应菜单的Callback 函数位置,进行编辑代码。 了解了菜单的属性后我们新建一个菜单,Label名称修改为:文 件,Tag属性为拼音wenjian,其它选项设定为默认,如图所示。
GUI空白设计模版界面
图所示设计工作界面包括4个功能区:其中菜单条与编辑工具 条位于界面顶部;控件模版区位于界面左侧;中心为GUI设计工作 区。 菜单栏提供了许多在此界面下操作的菜单项,包括File、Edit 等操作。 工具栏中的按钮从左到右依次为:新建、打开、保存、剪切、 复制、粘贴、撤销、返回撤销、对象分布和对齐、菜单编辑器、M 文件编辑器、对象属性设置窗口、对象浏览器和GUI运行按钮。 左侧控件模版主要包括:按钮(Push Button)、滑动条 (Slider)、单选按钮(Radio Button)、复选框(Check Box)、 文本框(Edit Text)、文本标签(Static Text)、下拉菜单 (Pop-UpMenu)、下拉列表框(List Box)、双位按钮(Toggle Button)和坐标轴(Axes)、ActiveX控件(ActiveX Control) 等。

第七章 MATLAB在图形用户中的应用

第七章 MATLAB在图形用户中的应用

上机练习 1. 建立快捷菜单。要求:用鼠标右键单击某图象对象时在 建立快捷菜单。要求: 屏幕上弹出菜单,该快捷菜单条中含有2个菜单项 个菜单项: 屏幕上弹出菜单,该快捷菜单条中含有 个菜单项:线 型和颜色。线型中有虚线和实线两个子菜单, 型和颜色。线型中有虚线和实线两个子菜单,颜色中有 蓝色和绿色两个子菜单。该图形对象的方程为y=5e蓝色和绿色两个子菜单。该图形对象的方程为 0.5xsin(2πx); π ; 2. 绘制一个粒子从 点到 点的螺旋运动曲线,t取 绘制一个粒子从A点到 点的螺旋运动曲线, 取 点到B点的螺旋运动曲线 0~20, 其方程为: x=e-0.2tcos(πt/2) , 其方程为: y=e-0.2tsin(πt/2) z=t ; 3. 利用函数的递归调用,求s=1!+2!+3!+4!+5!; 利用函数的递归调用, ; 4. 上机编写和运行例题 和例题 。 上机编写和运行例题1和例题 和例题3。
实例分析
实例分析 例7.6 建立一个坐标轴(axes)和一个滑动条(slider)以 建立一个坐标轴( )和一个滑动条( ) 及描述滑动条的两个文本。当滑动条在r=[0,10]变化时,绘 变化时, 及描述滑动条的两个文本。当滑动条在 变化时 出对应的y=rsin(x)图象。 图象。 出对应的 图象
实例分析
例7.1 建立下图所示图形窗口
实例分析

MATLAB图形用户界面设计与实例展示

MATLAB图形用户界面设计与实例展示

MATLAB图形用户界面设计与实例展示

一、引言

在当今科技发展日新月异的时代,图形用户界面(Graphical User Interface,简

称GUI)已经成为了我们日常生活和工作中不可或缺的一部分。作为一种直观、

交互式的界面设计方式,GUI已经广泛应用于各个领域,包括但不限于商业软件、教育应用、科学研究等。在本文中,我们将聚焦于MATLAB图形用户界面的设计

与实例展示。

二、MATLAB GUI简介

MATLAB是一种强大的数值计算和数据分析工具,其广泛的功能和开放的界

面设计平台使得用户可以自由地根据自己的需求进行个性化的界面设计。

MATLAB提供了一系列GUI的工具箱,包括“GUIDE(Graphical User Interface Development Environment)”以及可视化编程语言“App Designer”,这些工具箱可以

帮助用户快速构建自己的图形用户界面。

三、MATLAB GUI设计的基本原则

1.简洁明了:在设计GUI时,我们应该尽量避免过多的冗余信息和复杂的布局,保持界面简洁明了,以便用户能够快速理解和使用。

2.一致性:保持界面的一致性是GUI设计的重要原则之一。在整体风格、按钮

布局、颜色选择等方面保持统一,可以提高用户的使用体验。

3.友好交互:GUI的主要目的是提高用户的交互体验。在设计时,我们应该注

重用户的感受,尽量使用户操作简单、直观,避免繁琐的步骤和复杂的操作。

四、MATLAB GUI实例展示

1.数据可视化界面

我们可以利用MATLAB的强大绘图功能来设计一个数据可视化界面,将用户

MATLAB的GUI设计

MATLAB的GUI设计

7.2 对话框设计 7.2.1 对话框的控件 (1)按钮(Push Button)。 (2)双位按钮(Toggle Button)。 (3)单选按钮(Radio Button)。 (4)复选框(Check Box)。 (5)列表框(List Box)。 (6)弹出框(Popup Menu)。 (7)编辑框(Edit Box)。 (8)滑动条(Slider)。 (9)静态文本(Static Text)。 (10)边框(Frame)。
7.1.2 菜单对象常用属性 菜单对象具有 Children、 Parent、Tag 、Type 、UserData 、 Visible 等公共属性。除公共属性外,还有一些常用的 特殊属性。
例7.1建立“图形演示系统”菜单。菜单条中含有3个菜单 项: Plot 、 Option 和 Quit 。 Plot 中有 Sine Wave 和 Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦 和余弦曲线。 Option 菜单项的内容如图 7.1 所示。其中 Grid on 和 Grid off 控制给坐标轴加网格线, Box on 和 Box off控制给坐标轴加边框,而且这4项只有在画有曲 线时才是可选的。Figure Color控制图形窗口背景颜色。 Quit控制是否退出系统。
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具

第七章Matlab的图形用户界面GUI

第七章Matlab的图形用户界面GUI

图7-17
M文件编辑器中的三个按钮的回调子函数
(a)
(b)
(c)
(d)
图7-18 运行结果 (a) 被激活后的界面; (b) sphere图; (c) peaks图; (d) membrane图
第三节
Biblioteka Baidu
GUI程序设计
1. 用户界面菜单对象的建立 h=uimenu(‟ PropertyName1‟,value1, ’ propertyName2‟,value2,…) 【例7-2】 建立一个包含用户界面菜单项的图形界面,并可 执行菜单项的相应功能,分别绘制membrane、peaks和sinc 函数图形。 Matlab程序如下:
【例7-4】 建立一个包含控件的图形用户界面,点击控件时执 行该控件的相应功能,要求绘制membrane,peaks和sphere 函数图形,并有光照控制效果。 % 建立图形窗口和坐标轴,去除窗口本身的菜单条和工具条, 并命名为 mysecondGUI h0=figure('menubar','none','toolbar','none', ... 'position', [198 56 408 468],'name','mysecondGUI'); h1=axes('parent',h0,'position',[0.15 0.45 0.7 0.5], ... 'visible','off'); % 建立静态文本框和动态文本框 htext1=uicontrol('parent',h0,'units','points','position',… [54 110 45 15],'string','input title','style','text'); hedit=uicontrol('parent',h0,'units','points','position',… [100 110 45 16],'callback','title(get(hedit,''string''))','style', 'edit');

MATLAB课件 第七章 数学图形的绘制

MATLAB课件 第七章 数学图形的绘制

第七章数学图形的绘制

MATLAB的图形处理功能就是用数学图形来反映数据之间存在的客观规律,应用MATLAB可以实现各种二维图形和三维图形的绘制、控制以及表现。本章将介绍MATLAB 的基本图形的处理功能。

7.1 二维图形绘制

7.1.1 基本图形函数

1. plot绘图函数(数值绘图)

MATLAB最基本、最重要的绘图命令就是plot绘图函数。它有多种基本的调用格式。plot(Y) % 如果Y是实数,Y的值就是它的列(column)坐标;Y的对应下标就是它的横坐标;如果是复数,则相当于plot(real(Y),imag(Y))。

plot(X,Y,...) % 绘制X为横坐标,Y为纵坐标的数学图形。

plot(X,Y,X1,Y1...) % 同时绘制Y对X,Y1对X1的数学图形。

plot(X,Y,LineSpec,...)% 绘图不同线型、标识、颜色等的数学图形。

【例7.1】>> Y=[1 3 5 7];plot(Y,'ro')

回车后可得如下图形:

图7.1

从图中可以看出,数值:1 3 5 7的横坐标分别为:1 2 3 4

【例7.2】 t=0:0.01:10;

y=sin(t);

Y=cos(t).*sin(2*t);

plot(t,y,'rd:',t,Y,'bo')

MATLAB 窗口将显示图7.2所示的函数曲线图形,其横坐标是t ,纵坐标是y 和Y 。

图7.2

另外, plot 函数使用了描述颜色的参数和数据线型的参数,这将在后面会陆续介绍。

【例7.3】.sin )(的图形绘制函数x

x

x y

Matlab基础第七章

Matlab基础第七章

7.4 Simulink的基本模块
4. 离散系统模块库(Discrete) 离散系统模块是用来构成离散系统的环节,常用的离散系统模块如表 7.5所示。
名称 Discrete Transfer Fcn Discrete ZeroPole Discrete StateSpace Discrete Filter Zero-Order Hold First-Order Hold Unit Delay 模块形状 功能说明 离散传递函数模型 离散零极点增益模型 离散状态方程模型 离散滤波器 零阶保持器 一阶保持器 采样保持,延迟一个周 期
Out
把数据写成矩阵输出到工作空间
输入不为零时终止仿真,常与关系模块 配合使用 输出模块
7.4 Simulink的基本模块
3. 连续系统模块库(Continuous) 连续系统模块是构成连续系统的环节,常用的连续系统模块如表7.4 所示。
名称 Integrator Derivative State-Space Transfer Fcn Zero-Pole Transport Delay 模块形状 功能说明 积分环节 微分环节 状态方程模型 传递函数模型 零—极点增益模型 把输入信号按给定的时间做延 时
1
【例7.3】建立二阶系统的仿真模型。
(4) 添 加 信 号 线 文 本注释
双击信号线,出现编辑 框后,就输入文本。 则模型如图7.27所示。

MATLAB第7讲 MATLAB图形用户界面设计

MATLAB第7讲 MATLAB图形用户界面设计
实验四来自百度文库
内容回顾
1 、句柄图形
2、图形用户界面设计方法
3、图形界面对话框设计
4、生成独立的EXE文件
实验七 MATLAB的图形界面设计 基本内容: 1、 练习GUI设计的基本方法 2、编程显示双音频的波形, 界面如下:
发挥内容:
根据菜单(0-9)选择,显示号码的双音频 的波形(要求使用函数调用)
7.2 图形用户界面设计方法
一、设计入门
1、图形用户界面设计有两种方式: ■一是基于函数的编程方式 (如:利用uimenu()函数创建一个菜单 利用uicontrol()函数创建一个控件) ■二是基于GUI方式(推荐的方式)
7.2 图形用户界面设计方法
一、设计入门
2、GUI方式的进入
(1)进入GUI的命令是:guide
例如:标识 (tag) 为 axes1 的坐标轴的句柄为:
handles.axes1
7.2 图形用户界面设计方法
2、属性的获取和设置
利用get和set
例如:添加一个 Edit 控件和一个按钮,每按一
次按钮, Edit的数加1。按钮的回调函数为:
a=get(handles.edit1,'string');
打开一个wav 文件,显示其波形 (mysound.m))
7.4 生成独立的EXE文件
步骤 : 1、安装C或C++编译器 如:VC++,C++Builder

第七章 MATLAB 图形用户界面设计

第七章  MATLAB 图形用户界面设计
第7章 MATLAB图形用户界面设计 7.1 菜单设计 7.2 对话框设计 7.3 用户界面设计工具
7.1 菜单设计 7.1.1 用户菜单的建立 建立一级菜单项的函数调用形式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性 值1,属性名2,属性值2,…) 建立子菜单项的函数调用形式为: 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性 值1,属性名2,属性值2,…)
7.1.3 快捷菜单 在MATLAB中,可以使用uicontextmenu函数和图形对象 的UIContextMenu属性来建立快捷菜单,具体步骤为: (1)利用uicontextmenu函数建立快捷菜单. (2)利用uimenu函数为快捷菜单建立菜单项. (3)利用set函数将该快捷菜单和某图形对象联系起来.
wk.baidu.com
例7.3 建立数制转换对话框.在左边输入一个十进制整数 和2~16之间的数,单击"转换"按钮能在右边得到十 进制数所对应的2~16进制字符串,单击"退出"按钮 退出对话框. 程序如下:
hf=figure('Color',[0,1,1],'Position',[100,200,400,200],... 'Name','数制转换','NumberTitle','off','MenuBar','none'); uicontrol(hf,'Style','Text', 'Units','normalized',... 'Position',[0.05,0.8,0.45,0.1],'Horizontal','center',... 'String','输 入 框','Back',[0,1,1]); uicontrol(hf,'Style','Text','Position',[0.5,0.8,0.45,0.1],... 'Units','normalized','Horizontal','center',... 'String','输 出 框','Back',[0,1,1]); uicontrol(hf,'Style','Frame','Position',[0.04,0.33,0.45,0.45],... 'Units','normalized','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.6,0.25,0.1],... 'Units','normalized','Horizontal','center',... 'String','十进制数','Back',[1,1,0]); uicontrol(hf,'Style','Text','Position',[0.05,0.4,0.25,0.1],...
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

GUI设计中的界面设计部分比较容易。在窗口上添加 一个按钮控件(Push Button)和一个文本控件(Static Text)。可双击控件调出属性编辑器进行其属性设置。
设按钮控件的“String”属 性为“问候”,“Tag”属 性为“helloBt”,见右图
按钮属性设置
设置文本控件的“String” 属性为空,表示初始状态下 不显示任何信息,“Tag”属 性为“helloStr”,为显示 清楚,设其“FontSize”属 性为“28”。见右图
变。 可以是left, center, 水平对齐方式 Horizontal Alignment可以是 2) 静态文本编辑框的属性设置。 可以是 right。 。 FontSize: 15 %字体大小 控件句柄Tag有默认值 有默认值, 控件句柄 FontUnits: points有默认值,建议修改为带有具体含义的字 %字体大小的度量单位 符串,以增加程序可读性和方便回调函数调用。 符串,以增加程序可读性和方便回调函数调用。
文本控件属性设置
“Tag”属性设置要唯一,因为“Tag”属性是唯一标 识控件的。 至此,我们的界面设计工作完成。 保存时,会生成2个文件,helloworld.fig, helloworld.m。
此外可通过Tools>Menu Editor进行类似于Windows程 序的菜单设计。编辑窗口见左图,效果见右图。
界面激活 保存静态界面后,利用工具栏上的运行按钮激活该 界面。激活后可以看到两个同名文件:m和fig。 m文件在M文本编辑器中打开, fig文件显示为操作 界面,但是无法实现任何功能,需要编写回调函数。 精细调整 利用对齐工具,排列控件的位置,使控件的大小、 位置更加协调。
精细调整 利用对齐工具,排列控件的位置,使控件的大小、位 置更加协调。
第7章 MATLAB 图形界面设计 章
MATLAB的GUI程序设计可以用两种方式实现, 的 程序设计可以用两种方式实现, 程序设计可以用两种方式实现 一种是借助GUI开发工具 开发工具GUIDE, 一种是利用 一种是借助 开发工具 , 一种是利用m 文件代码构建界面。采用GUIDE进行设计的方法 文件代码构建界面。采用 进行设计的方法 直观方便,容易上手。 直观方便,容易上手。 本章主要介绍利用GUIDE方法进行设计的步骤。 方法进行设计的步骤。 本章主要介绍利用 方法进行设计的步骤
7.2 GUI程序设计示例 程序设计示例
本节通过示例,演示 程序设计。 本节通过示例,演示MATLAB的GUI程序设计。 的 程序设计
“Hello World”程序的设计
下面以一个类似于学习其它程序设计的第一个程 序“Hello World”为例,讲解GUIDE的有关知识。 程序的目标是当按下按钮时,由文本控件显示 “Hello World”。 Hello World”
7.1.1 GUIDE的启动 的启动 可以如下不同方式启动GUIDE: : 可以如下不同方式启动 1. 在命令窗口提示符下输入 在命令窗口提示符下输入guide; ; 2. 在工具栏选打开; 在工具栏选打开; 3. 在Start菜单中选 菜单中选MATLAB > ; 菜单中选 4. MATLAB File 菜单中选 菜单中选New > GUI。 。
用户控件 对象选择按钮,用来选取工作区的控件。 单功能按键,按下操作代表一定功能实现。 双位按键,代表“开”“关”两种状态。 互斥选择按钮,多个选项互斥选择时使用。 互容选择按钮,同时选中多个选项时使用。 编辑文本框,可以自由输入字符和字符串 静态文本框,用于显示注释,不可编辑。 滑动块,利用游标滑动,可以获取不同值。 控件区域框,用于对控件区域进行标识。 列表框,提供多个互容的可供选择选项。 弹出框,有多个选项,只能选择其中一项。 轴对象,用来显示图形。
7.1 GUI设计工具 设计工具Guide简介 设计工具 简介
MATLAB提供了用户图形界面开发程序 提供了用户图形界面开发程序GUIDE,支 提供了用户图形界面开发程序 , 持可视化编辑。 持可视化编辑。 它是一种基于事件或者说是事件驱动的程序(event 它是一种基于事件或者说是事件驱动的程序( driven),类似于方便易用的 ),类似于方便易用的 ),类似于方便易用的Visual Basic。 。
空白界面 有控件的模板界面 有轴对象和菜单的模板界面 标准询问窗口
7.1.2 GUI界面的创建 用户创建 创建新的GUI,也可打开 打开已有的GUI。创建 创建 打开 界面时还可在模板基础上进行,在选择GUI模板 时,启动界面右侧提供了预览。
以“GUI with axes and menu”模板创建的 模板创建的GUI初始界面。 初始界面。 模板创建的 初始界面
wenku.baidu.com
按钮(Push Buttons):执行某种预定的功能或操作; ① 按钮 : 开关按钮(Toggle Button):产生一个动作并指示一个二 ② 开关按钮 : 进制状态(开或关),当鼠点击它时按钮将下陷,并执 行callback(回调函数)中指定的内容,再次点击,按钮 复原,并再次执行callback 中的内容; 单选框(Radio Button):单个的单选框用来在两种状态之 ③ 单选框 : 间切换,多个单选框组成一个单选框组时,用户只能在 一组状态中选择单一的状态,或称为单选项; 复选框(Check Boxes):单个的复选框用来在两种状态之 ④ 复选框 : 间切换,多个复选框组成一个复选框组时,可使用户在 一组状态中作组合式的选择,或称为多选项; 文本编辑器(Editable Texts):用来使用键盘输入字符串 ⑤ 文本编辑器 : 的值,可以对编辑框中的内容进行编辑、删除和替换等 操作;
菜单编辑器左上角的第一个按钮用于创建一级菜单项。 第二个按钮用于创建一级菜单的子菜单。
菜单编辑器左下角有两个按钮,选择第一个按钮可创建下 拉式菜单。选择第二个按钮可创建Context Menu菜单。选择 它后,菜单编辑器左上角的第三个按钮就会变成可用,单 击它就可以创建Context Menu主菜单。在选中已经创建的 Context Menu主菜单后,可以单击第二个按钮创建选中的 Context Menu主菜单的子菜单。与下拉式菜单一样,选中创 建的某个Context Menu菜单,菜单编辑器的右边就会显示该 菜单的有关属性,可以设置、修改菜单属性。
修改控件属性 每个控件不可能是完全符合界面设计要求的,需要 对其属性进行设置,以获得所需界面显示效果。 可以通过双击该控 件,或利用下拉菜 单[View: Property [View: Inspector]打开控件 属性对话框。
例如右图是“+”按 钮的属性列表。
下面对各控件的主要属性进行一下说明。 1) 双击设计工作区空白部分,打开整个图形窗属性 框。 MunuBar: 或FontUnits可选择:inches(英寸 ,centimeters none %图形窗是否使用标准菜单 Units或 可选择: 英寸), 可选择 英寸 Name: , normalized(按比例缩放 ,points(点阵 , pixels (厘米 caculator %图形窗名称 厘米), 按比例缩放), 点阵), 厘米 按比例缩放 点阵 Resize:, characters(字符 。如果选择 %图形窗不能缩放 (像素 off 像素), 字符)。 像素 字符 如果选择normalized,那么当 , resize设为 时 设为on时 设为 Tag: mainWnd ,控件或字体大小随着整个窗口的缩放而改 %图形窗的句柄handles.mainWnd
GUIDE工具栏上的工具按钮
布局编辑器(Layout Edtor)——在图形窗口中创建及布置 布局编辑器 图形对象。布局编辑器是可以启动用户界面的控制面板,上 述工具都必须从布局编辑器中访问,用guide命令可以启动, 用 命令可以启动, 命令可以启动 或在启动平台窗口中选择GUIDE来启动布局编辑器; 来启动布局编辑器; 或在启动平台窗口中选择 来启动布局编辑器 几何排列工具(Alignment Tool)——调整各对象相互之间 几何排列工具 的几何关系和位置; 属性查看器(Property Inspector)——查询并设置属性值; 属性查看器 对象浏览器(Object Browser)——用于获得当前Matlab图 对象浏览器 形用户界面程序中的全部对象信息,对象的类型,同时显示 控件的名称和标识,在控件上双击鼠标可以打开该控件的属 性编辑器; 菜单编辑器(Menu Editor)——创建、设计、修改下拉式 菜单编辑器 菜单和快捷菜单; Tab顺序编辑器(Tab Order Editor)——用于设置当用 顺序编辑器( 顺序编辑器 ) 户按下键盘上的Tab键时,对象被选中的先后顺序。
显示控件名称 的设置界面 对界面左侧的控 件如果不够熟悉 的话,可以通过 File>Preference s选项,选中 “Show names in component palette”
GUI设计界面在显示控制图标的同时,还显示控件名称
1. “Hello World”程序界面设计 2. “Hello World”程序的设计 3. 程序测试运行
菜单设计的编辑窗口
菜单效果图
菜单编辑器(Menu Editor) 菜单编辑器 利用菜单编辑器可创建、设置、修改下拉式菜单和快捷菜单。 选择 Tools 菜单的 Menu Editor...子菜单,可打开菜单编辑器。
菜单可通过编程实 现,从GUI设计窗 口的工具栏上选择 Menu Editor命令按 钮,打开菜单编辑 程序。
回调函数 在M文本编辑器中打开m文件,可以看到自动生成的 回调函数,该函数的命名利用对象句柄进行区分, 没有任何执行语句。 回调函数:Tag_Callback(hObject, eventdata, handles), 通过加入自己的处理语句,可以实现所需功能。 其中hObject是控件的句柄;eventdata是备用参数, 目前没有定义;handles是用户数据,本身是一个结 构数组,存放了当前窗口的所有对象的句柄,包括 图形窗本身、所有控件和菜单的句柄。并且可以增 加一些域用来传递用户数据。 利用guidata( H, handles )可以更新 H 的用户数据。
菜单编辑器包括菜单的设计和编辑,菜单编辑器有八个 快捷键,可以利用它们任意添加或删除菜单,可以设置菜单 项的属性,包括名称(Label)、标识(Tag)、选择是否显示分 、 、 隔线(Separator above this item)、是否在菜单前加上选中标 、 记(Item is checked)、调用函数(Callback)。 、 。
HorizontalAlignment: Center %对齐方式 String: Expression %待显示的字符 Tag: text1 %静态文本框句柄handles.text1 Units: points %文本框度量单位
3) 可编辑文本框的属性设置。 String: 0 %初始状态下显示数字0 Tag: pExp %可编辑文本框的句柄 其它和静态文本框相同 4) 单功能按钮属性设置。以按钮“1” 为例 String: 1 Tag: p1 其它和静态文本框相同。
菜单编辑器左上角的第四个与第五个按钮用于对选中 的菜单进行左移与右移,第六与第七个按钮用于对选中的 菜单进行上移与下移,最右边的按钮用于删除选中的菜单。
静态文本框(Static Texts):仅用于显示单行的说明文字; ⑥ 静态文本框 滚动条(Slider): 可输入指定范围的数量值; ⑦ 滚动条 : 边框(Frames):在图形窗口圈出一块区域; ⑧ 边框 : ⑨ 列表框 列表框(List Boxes):在其中定义一系列可供选择的字符 : 串; ⑩ 弹出式菜单(Popup Menus): 让用户从一列菜单项中选 弹出式菜单 : 择一项作为参数输入; 此外还有坐标轴(Axes), 用于显示图形和图象。
相关文档
最新文档