第9讲 MATLAB图形用户界面( GUI)
在MATLAB中创建用户界面和GUI应用程序
![在MATLAB中创建用户界面和GUI应用程序](https://img.taocdn.com/s3/m/719dec94dc3383c4bb4cf7ec4afe04a1b171b06b.png)
在MATLAB中创建用户界面和GUI应用程序MATLAB是一种广泛应用的数学软件,对于数据分析和科学计算具有强大的功能。
然而,仅仅通过MATLAB的命令行窗口进行操作往往不够便捷,特别是当需要进行大量的重复性操作时。
为了解决这个问题,MATLAB提供了创建用户界面(User Interface,简称UI)和GUI(Graphical User Interface)应用程序的功能。
1. GUI应用程序的基本概念GUI应用程序可以通过可视化的方式与用户进行交互,通过按钮、滑块、文本框等控件来实现用户与程序的数据传递和操作。
在MATLAB中创建GUI应用程序的首要步骤是创建一个GUI窗口,可以通过MATLAB提供的GUIDE(GUI Development Environment)工具进行操作,也可以通过编写代码的方式来创建。
2. 使用GUIDE创建GUI应用程序GUIDE是MATLAB提供的一个可视化工具,可以帮助用户创建GUI应用程序。
使用GUIDE可以通过拖拽控件的方式来创建窗口,并使用属性编辑器对控件进行设置。
例如,可以添加按钮和文本框,并设置按钮的回调函数,以实现按下按钮时触发特定的操作。
GUIDE还提供了布局管理器,使得控件的排列和布局更加灵活。
创建完成后,GUIDE会生成一个.m文件和一个.fig文件,分别对应GUI应用程序的代码和界面。
3. 通过编写代码创建GUI应用程序除了使用GUIDE,用户还可以通过编写代码的方式来创建GUI应用程序。
首先,需要创建一个窗口,可以使用MATLAB中的`figure`函数来实现。
然后,可以使用不同的MATLAB函数来添加各种控件,例如`uicontrol`函数用于添加按钮,`uimenu`函数用于添加菜单等。
通过设置控件的属性和回调函数,可以实现控件的响应和交互。
4. GUI应用程序实例假设我们需要一个简单的计算器应用程序,用户可以输入两个数值并选择进行加法、减法、乘法或除法运算。
在Matlab中使用GUI设计用户界面
![在Matlab中使用GUI设计用户界面](https://img.taocdn.com/s3/m/f97a964b7ed5360cba1aa8114431b90d6d858947.png)
在Matlab中使用GUI设计用户界面引言Graphical User Interface (GUI) 是现代计算机软件中常用的一种类型用户界面,它通过图形化的形式提供了直观、易用的操作方式。
Matlab作为一种功能强大的数值计算软件,也提供了丰富的GUI设计工具,使得用户可以通过简单的拖拽和设置,快速地创建出美观实用的用户界面。
本文将介绍在Matlab中使用GUI设计用户界面的基本原理和步骤,并结合实例演示具体操作。
一、Matlab中的GUI设计工具Matlab提供了几种常用的GUI设计工具,包括GUIDE(GUI Development Environment)和App Designer。
GUIDE是Matlab较早期的一个GUI设计工具,提供了可视化的编辑界面,方便用户进行界面布局和交互事件的设置。
而App Designer是Matlab较新推出的GUI设计工具,相比GUIDE具有更加丰富的功能和更好的可视化编辑体验。
在本文中,我们将以App Designer为例来介绍Matlab中的GUI设计过程。
二、创建GUI应用程序在Matlab的主界面中,点击"APPS"菜单,选择"App Designer"打开App Designer界面,然后点击"Create App"按钮创建一个新的GUI应用程序。
在弹出的对话框中输入应用程序的名称并设置保存位置,点击"Create"按钮即可创建一个空的GUI应用程序。
三、设计用户界面在App Designer中,可以通过拖拽和调整控件来设计用户界面。
常用的控件包括按钮、文本框、下拉菜单、滑块等,用户可以根据需求自由选择和排列这些控件。
同时,还可以设置控件的属性,如大小、颜色、字体等,以及添加交互事件,如按下按钮后执行的操作。
四、设置控件属性和交互事件在设计好用户界面后,需要为每个控件设置相应的属性和交互事件。
利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面
![利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面](https://img.taocdn.com/s3/m/4da6364369eae009581becaa.png)
(1)利用Matlab的图形用户界面(GUI)功能,设计并实现实验主界面;(2) 实现在“符号计算”图形用户界面中的各项符号计算功能,如实现Matlab的求极限、求导、求不定积分与定积分、级数求和、方程组的符号求解、常微分方程的符号求解等符号计算;(3) 利用Matlab的二维、三维绘图功能,实现图形用户界面(GUI)中的部分符号计算的可视化,即给出符号计算实例的同时实现该实例的图形化描述。
如下图给出了一个简单的GUI界面,学生可以参考如下图设计出自己的GUI界面。
程序如下:hf=figure('Position',[200,200,700,500],...'Name','信计08(2)班阿卜杜热黑木20080803417', ...'NumberTitle','off','MenuBar','none');uicontrol(hf,'Style','Frame','Position',[0,0.15,0.45,1],...'Units','normalized','Back',[0,1,1]);COMM1=['n=str2num(get(he1,''String''));', ...%求导连接'b=sym(get(he7,''String''));',...'dec=diff(b,n);', ...'set(he8,''string'',char(dec));'];COMM2=['a=str2num(get(he2,''String''));', ...%求极限连接'f=sym(get(he7,''String''));',...'lim=limit(f,a);', ...'set(he8,''string'',char(lim));'];COMM3=['g=sym(get(he7,''String''));',... %不定积分连接'int_1=int(g);', ...'set(he8,''string'',char(int_1));'];COMM4=['a=str2num(get(he3,''String''));', ... %级数求和连接'b=str2num(get(he5,''String''));', ...'f=sym(get(he7,''String''));',...'sum_1=symsum(f,a,b);', ...'set(he8,''string'',char(sum_1));'];COMM5=['a=str2num(get(he4,''String''));', ... %定积分连接'b=str2num(get(he6,''String''));', ...'f=sym(get(he7,''String''));',...'int_2=int(f,a,b);', ...'set(he8,''string'',char(int_2));'];COMM6=['f=get(he7,''String'');',...'dsolve_1=dsolve(f,''x'');', ...'set(he8,''string'',char(dsolve_1));'];COMM7=['f=get(he7,''String'');',...'ezplot(f);'];COMM8=['g=get(he8,''String'');',...'ezplot(g);'];uicontrol(hf,'Style','Push','Position',[0.02,0.9,0.11,0.06],...'String','求导','Units','normalized','Call',COMM1); uicontrol(hf,'Style','Text','Position',[0.17,0.85,0.08,0.1],...'Units','normalized','Horizontal','center',...'String','阶数','Back',[0,1,1]);he1=uicontrol(hf,'Style','Edit','Position',[0.25,0.9,0.15,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.72,0.13,0.06],...'String','求极限','Units','normalized','Call',COMM2);uicontrol(hf,'Style','Text','Position',[0.17,0.67,0.08,0.1],...'Units','normalized','Horizontal','center',...'String','极限点','Back',[0,1,1]);he2=uicontrol(hf,'Style','Edit','Position',[0.25,0.72,0.15,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.58,0.13,0.06],...'String','不定积分','Units','normalized','Call',COMM3);uicontrol(hf,'Style','Push','Position',[0.02,0.45,0.13,0.06],...'String','级数求和','Units','normalized','Call',COMM4);uicontrol(hf,'Style','Text','Position',[0.31,0.44,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','上限','Back',[0,1,1]);he5=uicontrol(hf,'Style','Edit','Position',[0.38,0.45,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Text','Position',[0.17,0.44,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','下限','Back',[0,1,1]);he3=uicontrol(hf,'Style','Edit','Position',[0.24,0.45,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.32,0.13,0.06],...'String','求定积分','Units','normalized','Call',COMM5);uicontrol(hf,'Style','Text','Position',[0.31,0.31,0.06,0.06],...'Units','normalized','Horizontal','center',...'String','上限','Back',[0,1,1]);he6=uicontrol(hf,'Style','Edit','Position',[0.38,0.32,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Text','Position',[0.17,0.3,0.08,0.06],...'Units','normalized','Horizontal','center',...'String','下限','Back',[0,1,1]);he4=uicontrol(hf,'Style','Edit','Position',[0.24,0.32,0.06,0.06],...'Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','Push','Position',[0.02,0.2,0.16,0.06],...'String','解微分方程','Units','normalized','Call',COMM6);uicontrol(hf,'Style','text','Position',[0.48,0.9,0.13,0.06],...'String','原函数','Units','normalized');he7=uicontrol(hf,'Style','edit','Position',[0.65,0.9,0.30,0.06],...'String','','Units','normalized','Back',[0,1,0]);uicontrol(hf,'Style','text','Position',[0.48,0.77,0.13,0.06],...'String','结果函数','Units','normalized');he8=uicontrol(hf,'Style','text','Position',[0.65,0.77,0.30,0.06],...'String','','Units','normalized','Back',[0,1,0]);h_axes=axes('position',[0.55,0.2,0.4,0.5]);uicontrol(hf,'Style','push','Position',[0.58,0.02,0.13,0.06],...'String','初始绘图','Units','normalized','call',COMM7);uicontrol(hf,'Style','push','Position',[0.80,0.02,0.13,0.06],...'String','结果绘图','Units','normalized','call',COMM8);uicontrol(hf,'Style','Push','Position',[0.02,0.02,0.08,0.06],...'String','退出','Units','normalized','Call', 'close');。
MATLAB-图形用户界面 GUI
![MATLAB-图形用户界面 GUI](https://img.taocdn.com/s3/m/e6b83bc24afe04a1b171de26.png)
第 8 章 图形用户界面GUI假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑图形用户界面(Graphical User Interfaces ,GUI )的制作。
但是如果读者想向别人提供某种新的设计分析工具,想体现某种新的设计分析理念,想进行某种技术、方法的演示,那么图形用户界面也许是最好的选择之一。
MATLAB 本身提供了很多的图形用户界面,如sisotool “单输入单输出控制系统设计工具”、fdatool “滤波器设计和分析工具”等。
这些工具的出现不仅提高了设计和分析效率,而且改变原先的设计模式,引出了新的设计思想,改变了和正在改变着人们的设计、分析理念。
正是出于这种观察,作者将图形用户界面内容列入本教程。
本章由四个精心设计的算例组成。
这四个算例,一方面尽可能多地向读者展现构成GUI 的各种控件或组件,另方面借助算例中回调函数的编写较快地将读者引向GUI 制作的纵深。
本书作者相信:读者只要耐心地按照示例进行操作,便能在愉快感受GUI 成功制作的同时,事半功倍地掌握GUI 的制作技巧。
8.1 图形用户界面入门示例【例8.1-1】为演示归一化二阶系统121)(2++=s s s G ζ中阻尼比ζ对单位阶跃响应的影响,需要制作如图8.1-1所示的用户界面图8.1-11)图8.1-2 进入GUIDE开发环境的默认引导对话窗图8.1-3 默认的空白用户界面开发环境GUIDE 2)●●点选“轴Axes”图标;●点选“静态文本框Static Text”图标●点选“可编辑文本框Edit Text ”图标图8.1-4 3)界面组件的参数设置●用户界面窗的参数设置⏹,再点击界面编辑器工具条上的图标,图8.1-5 ●●●●图8.1-6 4)●点击工具条上的图标,●●●图8.1-7图8.1-85)●,点击HOME工具带NAVIGATE导航区上的Go To转至图标●●get(hObject,'String'); %zeta=str2double(get(hObject,'String')); %handles.t=0:0.05:15; %handles.y=step(tf(1,[1,2*zeta,1]),handles.t); %cla %line(handles.t,handles.y) %●●,再点击界面编辑器(或M文件编辑器)上的图标,图8.1-9图8.1-106)〖说明〗8.2 控件创建及应用示例本小节仍以算例为依托,详细讲述用户界面的创建步骤和注意要点。
MATLAB实用教程GUI
![MATLAB实用教程GUI](https://img.taocdn.com/s3/m/4d4e058e0408763231126edb6f1aff00bfd57068.png)
MATLAB实用教程GUIMATLAB是一种功能强大的科学计算软件,在各个领域中被广泛应用。
除了提供基础的数值计算和数据可视化功能之外,MATLAB还提供了可视化编程界面(GUI)工具箱,方便用户通过交互式界面进行操作和数据分析。
本篇文章将介绍一些MATLAB实用教程GUI的相关内容。
首先,我们需要了解什么是GUI。
GUI是Graphical User Interface的缩写,即图形用户界面。
通过GUI,用户可以通过鼠标、键盘等输入设备与计算机进行交互,而不需要通过命令行输入指令。
MATLAB提供了一系列功能强大的GUI工具箱,用于创建各种形式的图形用户界面。
创建GUI的第一步是打开MATLAB的Guide工具箱。
Guide是一个可视化开发环境,提供了创建GUI界面和添加交互元素的功能。
打开Guide 后,用户可以通过拖放控件、设置属性等方式创建界面,并将其与MATLAB代码关联起来。
在Guide中,用户可以使用不同的布局管理器(layout manager)来组织和调整界面中的控件位置和大小。
常用的布局管理器包括网格布局(grid layout)、组框布局(box layout)等。
用户还可以为每个控件设置属性,如字体、颜色、大小等。
对于每个控件,用户可以为其添加特定的回调函数。
回调函数是一个用户定义的函数,在特定事件(如按钮点击、输入框输入等)发生时被调用。
通过回调函数,用户可以定义GUI与MATLAB代码之间的交互逻辑。
在编写回调函数时,用户可以使用MATLAB的各种功能。
例如,用户可以使用MATLAB的函数库进行数据处理和分析,绘制图表和绘图,并将结果显示在GUI界面中。
用户还可以使用MATLAB提供的各种工具和函数库进行图像处理、信号处理等。
创建一个GUI界面的一个常见实例是绘制函数图像。
用户可以在界面中添加一个绘图区域和一些滑动条或按钮,用于调整绘图的参数。
在绘图区域中,用户可以绘制函数图像,并随着滑动条或按钮的调整,实时更新绘图结果。
MATLAB实用教程GUI
![MATLAB实用教程GUI](https://img.taocdn.com/s3/m/a7e4e92cb94ae45c3b3567ec102de2bd9705de67.png)
MATLAB实用教程GUI
MATLAB是一种非常强大的数值计算软件,广泛应用于科学计算、工程设计和数据分析等领域。
其中的GUI(Graphical User Interface,图形用户界面)功能可以帮助用户设计出直观、交互性强的界面,提高使用效率和易用性。
本篇教程将介绍如何利用MATLAB的GUI功能创建一个实用的界面。
首先,打开MATLAB软件,并在"Home"选项卡中选择"New Script"创建一个新的脚本。
在脚本中,我们将使用MATLAB的GUI工具箱中的"App Designer"来创建界面。
除了按钮的点击事件外,还可以处理其他各种事件。
例如,通过为文本框添加"ValueChangedFcn"回调函数,可以在文本框内容发生更改时执行相应的操作。
在界面设计完成后,可以通过点击"Run"按钮来运行应用程序,并与用户进行交互。
可以输入文本、选择菜单项、点击按钮等等,然后根据用户的输入做出相应的反应。
通过与用户的交互,可以进行各种有用的计算和处理。
值得一提的是,MATLAB的GUI功能还支持将用户界面保存为独立的应用程序,并与其他MATLAB代码集成。
这意味着界面所包含的各种计算和分析能力可以通过编写MATLAB函数来实现,然后在界面的回调函数中调用这些函数。
这为用户提供了更大的自由度和灵活性,以满足不同需求的应用场景。
matlab用户图形界面设计GUI
![matlab用户图形界面设计GUI](https://img.taocdn.com/s3/m/2055b70452ea551810a68753.png)
一、菜单设计
• Matlab用户菜单对象是图形窗口的子对象, 所以菜单设计总是在某一个图形窗口中进 行。Matlab的图形窗口有自己的菜单栏, 为了建立用户自己的菜单系统,需要先将 图形窗口的MenuBar属性设置为none,以取 消图形窗口的默认菜单,然后再建立自己 的菜单。 • 取消默认菜单:figure('menubar','none')
• 1.建立用户菜单
• 用户菜单通常包括一级菜单(菜单条)和二级菜单,有时 还需要继续建立下级菜单如三级菜单等。而每一级菜单 又包括若干菜单项。 • 建立用户菜单的函数为:uimenu,根据不同的调用格 式可以创建一级菜单项和子菜单项。 • 建立一级菜单的调用格式: • 一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属 性值1,属性名2,属性值2,…) • 建立子菜单项的调用格式: • 子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属 性值1,属性名2,属性值2,…)
• (5)列表框list box,列表框列出可供选择的一些选项。 • (6)弹出框popup menu,弹出框平时只显示当前选项, 单击右端的下拉箭头即可弹出一个列表框,列出全部 选项,作用和列表框类似。 • (7)编辑框edit box,可供用户输入数据之用,可在编 辑框中提供默认的输入值,随后用户可以修改。 • (8)滑动条slider,滑动条可以用图示的方式输入指定 范围内的一个数值,可以移动滑动条中间的游标来改 变对应的数值。 • (9)静态文本static text,是在对话框中显示的说明性文 字,一般用来给用户提供必要的提示,不能在程序执 行过程中改变文字说明。 • (10)边框frame,主要用于修饰用户界面,使用户界面 更友好,也可用边框在图形窗口中圈出一块区域,将 某些控件对象组织在这块区域中。
matlab2011教程之九—图形用户界面(GUI)
![matlab2011教程之九—图形用户界面(GUI)](https://img.taocdn.com/s3/m/2fac2f6addccda38376baf9c.png)
第 9 章 图形用户界面GUI 图形用户界面(Graphical User Interfaces ,GUI)是由窗、轴、按键、菜单、工具图标、文字说明等对象(Objects)构成的一个用户界面。
用户通过鼠标或键盘选择、激活这些图形对象,实现计算、绘制图表和产生动画等。
图形用户界面不仅形象生动、界面友善、操控灵活,而且为人们提供了定性定量结合、局域全域结合、时域频域结合、模拟数字结合的数据探索、科学分析的仿真平台。
图形用户界面的出现,使过往视为经典的一些方法和技巧逐趋暗淡失色,而新的方法和技巧则日渐彩华升腾,人们的研发理念和思维方式已经和正在发生深刻的变化。
本书作者正是出于这种认识组织本章内容的。
图形用户界面开发工具(Graphical User Interface Development Environment,GUIDE),简称界面开发工具,是一种程式性的设计工具。
使用GUIDE设计界面遵循一定的设计步骤,而较少依赖技巧。
MATLAB 新版本倡导使用GUIDE开发图形用户界面。
为此,本章以四个节次五个算例介绍了GUIDE的功能和用法、界面控件的机理和属性、各种控件、菜单、图标的详细制作步骤。
与此同时,本章还有少量篇幅用以介绍“图形用户界面的手工设计法”。
编写这部分内容的目的在于:一,其本身简明;二,它能帮助读者更好地理解用户界面的工作机理。
本章所有算例界面都是彩色的,请读者从随书光盘mbook目录上的“ch09_图形用户界面.doc”文件中查看;而实现界面所需的带exm前缀文件名的M文件和FIG文件则都存放在随书光盘mfile目录上。
9.1设计原则和一般步骤9.1.1设计原则9.1.2一般制作步骤9.2借助GUIDE创建GUI9.2.1GUIDE通览1 GUIDE的启动图9.2-1 显示模板预览的GUIDE Quick Start对话窗 2 Preferences 设置对版面编辑器的影响图9.2-2 带空白模板的GUIDE3 GUIDE的功能分区(1)版面设计区(2)工具条和菜单条4待设计用户界面的性状预设图9.2-3 未来界面窗性状设置对话窗(1)未来界面窗的缩放性(2)未来界面窗的访问权限(3)涉及界面窗的其他设置5设计区的坐标参照和位置编排器(1)版面设计区的坐标参照系图9.2-4 “格尺”对话框(默认状态)图9.2-5 设计辅助工具和功能(2)组件位置编排器图9.2-6 编排器对三个组件进行对中处理 6控件组件属性值的初始设置(1)控件或组件属性值初始设置的必要性(2)在GUIDE中设置控件或组件属性值的方式(3)对象属性观察器的引出(4)属性观察器简介(图9.2-7)图9.2-7 属性观察器示例7创建界面的文件保存和再命名(1)对应GUIDE创建界面的两个伴生文件(2)GUIDE所创建界面的保存操作图9.2-8 激活保存操作提示对话框(3)GUIDE自动生成文件的再命名9.2.2控件的运作机理及创建用于构建用户界面的组件(Components)中,有一类可专称为控件(Controls)。
MATLAB-图形用户界面 GUI
![MATLAB-图形用户界面 GUI](https://img.taocdn.com/s3/m/e6b83bc24afe04a1b171de26.png)
第 8 章 图形用户界面GUI假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑图形用户界面(Graphical User Interfaces ,GUI )的制作。
但是如果读者想向别人提供某种新的设计分析工具,想体现某种新的设计分析理念,想进行某种技术、方法的演示,那么图形用户界面也许是最好的选择之一。
MATLAB 本身提供了很多的图形用户界面,如sisotool “单输入单输出控制系统设计工具”、fdatool “滤波器设计和分析工具”等。
这些工具的出现不仅提高了设计和分析效率,而且改变原先的设计模式,引出了新的设计思想,改变了和正在改变着人们的设计、分析理念。
正是出于这种观察,作者将图形用户界面内容列入本教程。
本章由四个精心设计的算例组成。
这四个算例,一方面尽可能多地向读者展现构成GUI 的各种控件或组件,另方面借助算例中回调函数的编写较快地将读者引向GUI 制作的纵深。
本书作者相信:读者只要耐心地按照示例进行操作,便能在愉快感受GUI 成功制作的同时,事半功倍地掌握GUI 的制作技巧。
8.1 图形用户界面入门示例【例8.1-1】为演示归一化二阶系统121)(2++=s s s G ζ中阻尼比ζ对单位阶跃响应的影响,需要制作如图8.1-1所示的用户界面图8.1-11)图8.1-2 进入GUIDE开发环境的默认引导对话窗图8.1-3 默认的空白用户界面开发环境GUIDE 2)●●点选“轴Axes”图标;●点选“静态文本框Static Text”图标●点选“可编辑文本框Edit Text ”图标图8.1-4 3)界面组件的参数设置●用户界面窗的参数设置⏹,再点击界面编辑器工具条上的图标,图8.1-5 ●●●●图8.1-6 4)●点击工具条上的图标,●●●图8.1-7图8.1-85)●,点击HOME工具带NAVIGATE导航区上的Go To转至图标●●get(hObject,'String'); %zeta=str2double(get(hObject,'String')); %handles.t=0:0.05:15; %handles.y=step(tf(1,[1,2*zeta,1]),handles.t); %cla %line(handles.t,handles.y) %●●,再点击界面编辑器(或M文件编辑器)上的图标,图8.1-9图8.1-106)〖说明〗8.2 控件创建及应用示例本小节仍以算例为依托,详细讲述用户界面的创建步骤和注意要点。
Matlab的图形用户界面GUI
![Matlab的图形用户界面GUI](https://img.taocdn.com/s3/m/c5952a4fd0d233d4b14e69cc.png)
编辑ppt
20
图7-10 调整空间位置后的界面设计编辑器外观图
编辑ppt
21
➢设置控件属性
图7-10 共有三个按钮,且每个按钮行使相应的功能,在按钮上双击鼠标左键 可以打开按钮属性编辑器,如图7-11所示,该图的左侧是按钮的所有属性,右 侧是其属性值。
图7-11 按钮属性编辑器外观图
编辑ppt
22
:按钮组(Button Group),放到按钮组中的多个单选按钮具有 排它性,但与按钮组外的单选按钮无关。制作界面时常常会遇到有几组 参数具有排它性的情况,即每一组中只能选择一种情况。此时,可以用
几组按钮组表示这几组参数,每一组单选按钮放到一个按钮组控件中。
编辑ppt
12
图7-3 带有控件的图形界面编辑器外观图
编辑ppt
6
:开关按钮(Toggle Button) 和一般按钮形状相 同,区别在于它有两种状态,用鼠标单击按钮,它会从一 种状态变成另一种状态,并执行相应的回调程序(两种状 态各对应不同的回调程序)。
按钮“开”时,Value属性的值为在Max属性中指定的值; 按钮“关”时,Value属性的值为在Min属性中指定的值。
编辑ppt
2
整个GUI的实现过程可以分为以下几步: ➢使用界面设计编辑器进行GUI界面布局设计; ➢理解应用程序M文件中所使用的编程技术; ➢编写GUI组件行为响应控制(即回调函数)代码。 一、启动GUIDE
在Matlab中,GUIDE提供了多种设计模板以方便用户使 用GUI。这些模板均包含相关的回调函数,用户可以打开它 所对应的M文件,看到它们的工作方式,或修改相应的函数,
编辑ppt
18
六、对象浏览器
利用对象浏览器,可查看当前所创建的图形对象。从对象设计编辑器界面的工 具栏上选择,或者选择“View”菜单下的“Object Browser”选项,可以打开 对象浏览器。
Matlab图形用户界面(GUI)制作
![Matlab图形用户界面(GUI)制作](https://img.taocdn.com/s3/m/2edfc33a453610661fd9f417.png)
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 检 查 框 滑 标 弹 出 式 菜 单 框 架 文 本 编 辑
第九章 图形用户界面(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,']);
matlab第九讲
![matlab第九讲](https://img.taocdn.com/s3/m/83629a63caaedd3383c4d3e0.png)
Parent、UserData、Visible等公共属性外,还有一些常用 的特殊属性。 1.基本控制属性 (1)Style属性。 (2)Tag属性。 (3)String属性。 (4)Type属性。 (5)BackgroundColor、ForegroundColor属性。 (6)Position属性。 (7)Units属性。 (8)字体属性。包括: FontAngle属性。
第九章 图形用户 界面设计
目 录
9.1用户界面对象 9.2图形用户界面设计工具 9.3GUI编程
本章学习目标 掌握GUI开发环境(GUIDE)的使用方法。 掌握各种控件的属性和创建方法。 掌握菜单设计的方法。 掌握回调函数的使用方法。
9.1用户界面对象
在MATLAB中,每个图形用户界面都是由若干个不同的用户 界面(UI)对象组成的。用户界面也是有层次的,其层次结 构如图所示。
9.2.3菜单编辑器 利用菜单编辑器可以创建、设置、修改下拉式菜单和快捷菜 单。从GUI设计窗口的工具栏上选择”Menu Editor”命令按 钮 ,或者选择“Tool”菜单中的“Menu Editor”命令,即 可 打开菜单编辑器。 1.创建菜单 菜单编辑器左上角的第1个按钮用于创建一级菜单项。用户 可以通过单击它,来创建一级菜单。第二个按钮用于创建一 级菜单的子菜单,在选中已经创建的一级菜单后,可以单击 该按钮来创建选中的一级菜单项的子菜单。 菜单编辑器有两个选项卡,选择MenuBar选项卡,可以创 建下拉式菜单。选择Context Menus选项卡,可以创建快 捷菜单。
1.事件驱动机制 面向对象的程序设计是以对象感知事件的过程为编程单位, 这种程序设计的方法称为事件驱动机制。 2.回调函数 回调函数就是处理该事件的程序,它定义对象怎样处理信息 并响应某事件,该函数不会主动运行,是由主控程序调用的。 gcbo为正在执行回调的对象句柄,可以使用它来查询该对象 的属性。例如: get(gcbo,’Value’) MATLAB将Tag属性作为每一个控件的唯一标识符。GUIDE 在生成M文件时,将Tag属性作为前缀,放在回调函数关键 字Callback前,通过下画线连接而成函数名。例如:
matlab gui面板的用法
![matlab gui面板的用法](https://img.taocdn.com/s3/m/f711241c302b3169a45177232f60ddccdb38e65b.png)
matlab gui面板的用法MATLAB GUI面板(Graphical User Interface)是一种基于MATLAB的界面开发工具,可以帮助用户以可视化的方式操作MATLAB程序。
GUI面板提供了一种直观、交互式的方式来与MATLAB程序进行互动,使得用户无需编写代码即可控制和操作程序。
本文将逐步介绍MATLAB GUI面板的用法,包括面板的创建、布局设计、图形元素的添加、回调函数的编写等内容。
第一步:创建GUI面板首先,打开MATLAB,并点击“APP Designer”按钮,进入GUI设计界面。
在界面左侧的“Component Library”面板中,选择“Panel”组件,拖动到界面中央的设计区域,即可创建一个GUI面板。
第二步:布局设计在GUI面板中,可以使用不同的布局方式来排列和组织图形元素。
在“Layout”面板中,可以选择水平布局、垂直布局或网格布局,并通过调整行列数或拖拽边缘来自定义布局。
此外,还可以使用“Tab Group”组件来创建选项卡式布局,方便用户切换不同功能模块。
第三步:添加图形元素在GUI面板中,可以通过“Component Library”面板中的组件来添加各种图形元素,如按钮、文本框、复选框、滑块等。
选择所需的组件,并将其拖动到GUI面板中,然后通过调整大小和位置来进行界面布局和排列。
第四步:设置图形元素属性每个图形元素都有一组属性,可以通过在“Properties”面板中选择和修改来定制图形元素的外观和行为。
例如,可以修改按钮的文本和颜色、文本框的默认值和输入限制、滑块的范围和步长等。
通过设置这些属性,可以使得GUI界面更符合用户的需求。
第五步:编写回调函数回调函数是MATLAB GUI面板中用于响应用户操作的函数。
当用户与图形元素进行交互时,比如点击按钮或调整滑块,相应的回调函数将被触发执行。
为了编写回调函数,可以通过点击图形元素,在“Properties”面板中找到“Callback”属性,并使用编辑器来编写相应的MATLAB代码。
MATLAB语言及应用-09 图形用户界面设计(GUI)
![MATLAB语言及应用-09 图形用户界面设计(GUI)](https://img.taocdn.com/s3/m/aab1a51483d049649a665834.png)
菜单编辑器包括菜单的设计和编辑,菜单编辑器有八
个快捷键,可以利用它们任意添加或删除菜单,可以设置 菜单项的属性,包括名称(Label)、标识(Tag)、选择是否显 示分隔线(Separator above this item)、是否在菜单前加上选 中标记(Item is checked)、调用函数(Callback)。
第9章 图形用户界面设计(GUI)
图形用户界面简介 9.1 图形用户界面开发环境(GUIDE) 9.2 控件对象及属性 9.3 编写 GUI 代码 9.4 程序菜单设计 9.5 程序对话框设计 9.6 程序设计实例
用户界面是用户与计算机进行信息交流的方式。 计算机在屏幕显示图形、文本、声音等。用户通过 输入设备(如:键盘、鼠标、跟踪球、绘制板或麦 克风),与计算机通讯。用户界面设定了如何观看 和如何感知计算机、操作系统或应用程序。通常, 多是根据悦目的结构和用户界面功能的有效性来选 择计算机或程序。
几何排列工具(Alignment Tool)——调整各对象相互之间 的几何关系和位置;
属性查看器(Property Inspector)——查询并设置属性值;
对象浏览器(Object Browser)——用于获得当前Matlab图 形用户界面程序中的全部对象信息,对象的类型,同时显 示控件的名称和标识,在控件上双击鼠标可以打开该控件 的属性编辑器;
① 将控件对象放置到布局区
用鼠标选择并放置控件到布局区内; 移动控件到适当的位置; 改变控件的大小; 可同时选中多个对象。
一 个 简 单 的 布 局 示 例
② 激活图形窗口
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
武汉理工大学数学系 尹强
CreateFcn = DeleteFcn = BusyAction = queue HandleVisibility = on HitTest = on Interruptible = on Parent = [0] Selected = off SelectionHighlight = on Tag = Type = figure UIContextMenu = [] UserData = [] Visible = on
获得当前所有对象句柄
H=Findobj Findobj(‘Property’,PropertyValue)
武汉理工大学数学系 尹强
位置(position)和单位(units) Units:inches;centimeters
武汉理工大学数学系 尹强
根对象的位置属性: 根对象的位置属性: Position 由ScreenSize代替 代替 [left,bottom] [1,1] [width,height] 屏幕实际尺寸 例:get(0,'screensize') ans = 1 1 800 600
武汉理工大学数学系 尹强
控制框类型
1. 2. 3. 4. 5. 6. 7. 8.
按纽框:执行一个动作( 按纽框:执行一个动作(如open, close) 无线按纽:设置参数的开关( 无线按纽:设置参数的开关(0 或1) ) 检查框: 检查框:切换按纽 静态文本框:显示标示﹑用户信息及当前值 静态文本框:显示标示﹑ 可编辑文本框: 可编辑文本框:容许用户输入文本或特定值 滑标(滚动条) 滑标(滚动条):用于选取某一范围内的值 弹出式菜单: 弹出式菜单:向用户提供一些可选的清单 框架:带色彩的矩形区域, 框架:带色彩的矩形区域,提供视觉的分隔性
武汉理工大学数学系 尹强
创建用户GUI的Matlab工具 创建用户GUI的Matlab工具 GUI
Guide函数的使用 各类对象的含义与定义方式 创建GUI的一个示例
武汉理工大学数学系 尹强
详细情况请见 MATLAB GUI 演示
武汉理工大学数学系 尹强
。 。。 。 。。
无无按按 按按
检检检
滑滑
文文检
。。。。。。
武汉理工大学数学系 尹强
建立用户菜单和子菜单
hm1=uimenu(h_parent,’property’,propertyvalue)
最重要的属性
Label: 其属性值为菜单和下拉菜单的文本字 符串 Callback:其属性值为Matlab字符串,当选中菜 单项时,传给eval函数,并执行
武汉理工大学数学系 尹强
图形句柄函数
武汉理工大学数学系 尹强
创建图形用户界面(GUI) 创建图形用户界面
Graphics User Interface
武汉理工大学数学系 尹强
GUI的层次结构
层次结构
根对象 (计算机屏幕)
图 图 。。。。。。
Uimenu对对
Uicontrol对 对
坐 滑 坐对 对
武汉理工大学数学系 尹强
建立用户控制框
hm1=uicontrol(h_parent,’style’,’stylevalue’,’prop erty’,propertyvalue)
最重要的属性
Style: 其属性值为控制框类型 Callback:其属性值为Matlab字符串,当选中 该项时,传给eval函数,并执行相应的命令
例
武汉理工大学数学系 尹强
InvertHardcopy = on KeyPressFcn = MenuBar = figure MinColormap = [64] Name = NextPlot = add NumberTitle = on PaperUnits = inches
PaperOrientation = portrait PaperPosition = [0.25 2.5 8 6] PaperPositionMode = manual PaperSize = [8.5 11] PaperType = usletter Pointer = arrow PointerShapeCData = [ (16 by 16) double array] PointerShapeHotSpot = [1 1]
数学实验九 MATLAB图形用户界面( GUI)
句柄图形操作 图形用户界面(GUI)
武汉理工大学数学系 尹强
句柄图形操作
武汉理工大学数学系 尹强
基本概念
句柄图形(对底层图形例程集合的总 称,并生成图形) 对象(一组紧密相关,形成统一整体 的数据结构和函数的集合) 句柄(每一个对象的唯一数据标识)
对象属性包括:属性名和属性值 如:Hd=figure(‘color’,’white’)
武汉理工大学数学系 尹强
H=figure Get(H)
BackingStore = on CloseRequestFcn = closereq Color = [0.8 0.8 0.8] Colormap = [ (64 by 3) double array] CurrentAxes = [] CurrentCharacter = CurrentObject = [] CurrentPoint = [0 0] Dithermap = [ (64 by 3) double array] DithermapMode = manual FixedColors = [ (3 by 3) double array] IntegerHandle = on
武汉理工大学数学系 尹强
h=plot(x,y,x,z)
返回句柄h(1)和h(2)
Set(h(1),’color’,[1 0.3 0.5],’linewidth’,3)
Set(h(2),’color’,[1 0.5 0.5],’linewidth’,4)
武汉理工大学数学系 尹强
获得当前对象句柄(最常用对象)
武汉理工大学数学系 尹强
Position = [64 36 672 504] Renderer = painters RendererMode = auto Resize = on ResizeFcn = SelectionType = normal ShareColors = on Units = pixels WindowButtonDownFcn = WindowButtonMotionFcn = WindowButtonUpFcn = WindowStyle = normal ButtonDownFcn = Children = [] Clipping = on
武汉理工大学数学系 尹强
句柄图形对象
层次结构
根对象 (计算机屏幕)
图形框架窗口对象 图形框架窗口对象 。。。。。。
Uimenu对 对
Uicontrol对 对
坐滑坐对对
。。。。。。
影对对对
无线对对
文文对对
曲曲对对
。。。。。。
武汉理工大学数学系 尹强
对象的属性:每一个对象都具有与特定对象 相应的特性,不同的对象的属性可由函数 Get获得,Set进行设置
H1=gcf; get current figure(gcf for short) H2=gca; get current axis (gca) H3=gco; get current object (gco) Get(H1,’type’) Get(H2,’type’) Get(0)……根对象属性
武汉理工大学数学系 尹强
武汉理工大学数学系 尹强
如: H_box=uicontrol(gcf,’style’,’check’,… ‘position’,[100 50 100 20],… ‘string’,’Axis Box’,… ‘callback’,[‘if get(H_box,’value’)==1’,… ‘set(gca,’box’,’on’)’,… else… ‘set(gca,’box’,’off’)’,… end])
武汉理工大学数学系 尹强
菜单的组织结构
H1
1
H1_2
如:
H1_21
H1_22
H1=uimenu(gcf,’label’,’example’) H1_1=uimenu(H1,’label’,’grid’,’callback’,’grid’) H1_2=uimenu(H1,’label’,’view’ ) H1_21=uimenu(H1_2,’label’,’2-D’,’callback’,’view(2)’) H1_22=uimenu(H1_2,’label’,’3-D’,’callback’,’view(3)’)