Matlab_-_GUI图形用户界面简单实用教程
在Matlab中使用GUI设计用户界面
在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制作图形用户界面
用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的代码。
在生成的.m文件中,你可以编写控件的事件处理函数。
例如,当用户点击按钮时,应该执行什么样的操作。
在编写完事件处理函数后,你就可以运行你的GUI了。
在命令窗口输入“edit(gcf)”,然后按Enter键,就可以打开你的GUI并进行测试了。
matlabGUI人机用户界面设计[6]
图7-18 对齐工具对话框
在界面之中还需要创建菜单,创建菜单能够经过菜单编辑器完毕。单击工具栏上旳菜单编辑器按钮,能够打开菜单编辑器对话框,在对话框中单击创建新菜单按钮,则能够创建新旳菜单,设置菜单属性如图7-20所示。
以空白界面类型为例,单击“OK”按钮,这时MATLAB将开启GUIDE旳图形界面,如图所示。
图 具有空白界面旳GUIDE图形界面
在GUIDE界面旳左侧为MATLAB旳控件面板,控件面板包括了能够在画布上绘制旳图形控件: (Push Button)、单项选择按钮(Toggle Button)、单项选择框(Radio Button)、复选框(Checkbox)、文本框(Edit Text)、静态文本框(Static Text)、滚动条(Slider)、组别框(Frame)、列表框(Listbox)、下拉框(Popup Menu)和坐标轴(Axes)。
2.1 GUIDE工具入门
使用图形句柄创建GUI旳过程繁琐,而且在程序编写好之前,顾客图形界面是不可见旳。所觉得了便于创建图形顾客界面,MATLAB提供了一种开发环境,能够帮助顾客创建图形顾客界面,这就是GUIDE——Graphic User Interface Development Environment。 在MATLAB中开启GUIDE旳措施: >>guide或者经过“Start”菜单项选择择“MATLAB”下旳“GUIDE”命令。
这时,将直接开启GUIDE Quick Start窗体,在这个窗体中,能够初步选择图形顾客界面旳类型,如图所示。
图 GUIDE旳迅速开启界面
在迅速开启界面中,能够选择四种类型旳新建界面:* 空白界面(Black GUI)。* 具有图形控件旳界面(GUI With Uicontrols)。* 具有菜单和坐标轴旳界面(GUI With Axes and Menu)。* 模式对话框(Modal Question Dialog)。
MATLAB实用教程GUI
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实用教程GUIMATLAB是一种功能强大的数学软件,广泛用于科学和工程领域的数据分析、可视化、建模和仿真。
在MATLAB中,GUI(Graphical User Interface,图形用户界面)是一种用于创建交互式应用程序的工具,可以使用户通过图形化界面来操作和控制程序。
本教程将介绍如何使用MATLAB创建GUI应用程序,包括创建各种控件(按钮、文本框、下拉菜单等)、设计布局、添加回调函数等。
通过学习本教程,您将了解如何利用MATLAB的强大功能和易用的GUI设计工具来创建自己的交互式应用程序。
1.创建GUI应用程序要创建一个GUI应用程序,首先需要打开MATLAB并选择新建GUI应用程序。
在弹出的界面中,可以选择创建一个新的Figure或Panel,然后可以在面板上添加各种控件。
可以通过拖动和放置控件来设计界面布局,然后可以对控件进行自定义设置,比如修改文本内容、颜色、大小等。
2.添加控件MATLAB提供了各种控件,用于实现不同的功能。
常见的控件包括按钮、文本框、下拉菜单、滑块等。
可以通过在界面上拖动和放置这些控件来创建自己的GUI应用程序。
在添加控件时,可以设置控件的属性,比如位置、大小、颜色、文本内容等。
3.设计布局设计布局是创建GUI应用程序的重要部分。
可以通过调整控件的位置、大小和对齐方式来设计一个美观的界面布局。
MATLAB提供了多种布局管理器,比如Grid布局、Box布局、GridBag布局等,可以根据需要选择合适的布局方式来设计界面。
4.编写回调函数回调函数是GUI应用程序的关键部分,用于响应用户的操作。
可以为每个控件添加回调函数,当用户操作控件时,回调函数将被触发。
可以在回调函数中实现各种功能,比如计算结果、数据处理、图形绘制等。
通过编写回调函数,可以实现程序的交互性和实用性。
5.运行应用程序创建GUI应用程序后,可以点击“运行”按钮来运行应用程序。
在运行过程中,可以与界面上的控件进行交互,触发回调函数并实现相应功能。
经典GUI基础入门:MATLAB中GUI用户图形界面学习
GUI指导教程系列(1):GUI入门基本操作为什么在MATLAB中要使用GUI呢?其实GUI就是Matlab中的Visual Basic,是面向对象的编程,可以使Matlab程序的终端用户,即使不懂的Matlab也可以轻易操作该程序!如果没有图形用户界面(GUI)我们只能从命令行(Command Window)中调用相关程序,这相对比较繁琐,并且不是所有用户都是这个能力。
就好比计算机的DOS 系统,在有windows的情况下,您会选择DOS吗?当然我们也不排除骨灰级的人物!在本节教程我们主要针对没有GUI创建和使用经历的网友,但是必要的MATLAB 基础知识是需要的。
在教程中我们将创建一个简单的GUI程序,它执行两个数的加法运行,然后显示其运算结果。
好下面开始我们的教程!一、打开和创建GUI界面1、首先打开Matlab,在Command Window中输入guide回车2、此时打开GUI编辑器GUIDE(GUI Developer的缩写)2.1 界面上有两个标签也“Creat New GUI”和“Open Existing GUI”如果创建新的GUI此时我们选择第一个标签页,但如果打开其它已经存在的GUI 就点击第二个标签吧2.2 这里我们选择第一个标签下的“Blank GUI”(空白GUI),下面还有几个系统GUI模版,你可以根据需要选择其它的。
2.3 点击“OK”我们正式进入GUIDE界面,呵呵,是不是感觉似曾相识3、添加你需要的控件到figure中在添加控件之前,您最好对您的GUI界面布局已经有一定的构思了,否则盲目性太大了不利于您的编程。
下面是我们构思的布局。
二、添加控件和设置属性在正式讲解之前,我们先讲解下GUI中的鼠标基本操作(a) 在左边的控件面板中鼠标左击选择您需要的控件,然后放开鼠标(b) 在右边的figure中按住左键,画出您的控件,于是空间就在figure上(c) 你可以用鼠标拖拽figure上所有控件,来改变他们的位置(d) 在控件上双击鼠标左键(右击是快捷菜单)可打开控件属性面板1、从上面的布局构思,我们知道本GUI需要以下控件:三个“编辑文本框”(Edit Text):三个“静态文本框”(Static Text):一个“确定按钮”(Pushbutton)按照上面介绍的鼠标操作方法,将这6个控件拖到右边的figure中,如下图所示2、接下来就是编辑这些控件的属性好,下面从Static Text开始吧,双击其中一个“静态文本块”,将跳出该控件的“属性查看器”(Property Inspector)GUI控件的几个常用属性说明如下:position:指示空间在figure中的位置font**:字体相关属性string:相当如VB中的caption,就是显示在控件上的文字tag:控件的唯一标识符,相当于ID,我们需要tag来指定某一个空间2.1 在这里我们修改它的“string”属性为“+”2.2 同理修改它的“fontsize”属性为20在编辑完这些属性后,直接点击右上角的“关闭”按钮,关闭属性查看器,此时属性会自动保存。
MATLABGUI的使用经验与技巧
MATLABGUI的使用经验与技巧
一、Matlab介绍
Matlab是一款由MathWorks公司推出的矩阵/数组工具软件,具有高
效的数学计算和可视化功能。
可以为科学计算和工程建模提供便捷的处理
方式,是一款多功能软件。
Matlab GUI(图形用户界面)是一种软件界面,使用户能够即时地与Matlab应用程序进行交互。
二、Matlab GUI的使用经验及技巧
1、UI组件:
Matlab GUI的UI组件是构建GUI的基础,主要有按钮、复选框、单
选框、输入框、列表框等,可以根据实际需求添加不同的UI组件,并且
可以定义UI组件的属性,如按钮的背景色、位置等。
2、回调函数:
Matlab GUI的回调函数是比较重要的一个组成部分,当用户激活一
些UI组件时,会触发回调函数,实现用户与程序的交互,从而实现各种
操作和功能。
回调函数中可以定义各种语句,调用函数,甚至可以执行程
序段,实现复杂功能。
3、数据处理:
Matlab GUI通过一定的语句,即可实现用户的数据输入、输出、处
理及其他操作,从而达到一定的功能要求。
可以在GUI中运行matlab程序,处理复杂的数据,这需要熟练掌握Matlab语言,以及其他数据处理
技术,例如正则表达式等。
4、可视化:
可视化是GUI最重要的功能之一,可以使用各种图表或实时显示数据,让用户更直观地查看和理解数据。
快速入门Matlab GUI编程
快速入门Matlab GUI编程Matlab是一种功能强大的数值计算与数据可视化软件,广泛应用于科学研究与工程领域。
GUI编程,即图形用户界面编程,允许用户通过直观的图形界面与程序进行交互,而不需要在命令行中输入指令。
本文将介绍如何快速入门Matlab GUI 编程,并通过一些实例来演示其基本用法。
1. GUI的基本概念与创建方式GUI,全称为Graphical User Interface,即图形用户界面,它提供了一种直观友好的交互方式。
在Matlab中,可以使用GUIDE工具箱来创建GUI界面。
打开Matlab界面,点击主菜单中的“Apps”选项,然后选择“GUIDE”工具箱。
接下来,可以选择创建空白界面或者从现有的模板中选择合适的界面。
2. GUI的基本组件与布局管理在GUI界面中,可以添加各种组件,如按钮、文本框、滑动条等,来实现与用户的交互。
Matlab提供了丰富的组件库,可以根据需要进行选择和使用。
在GUIDE工具箱中,可以通过简单的拖拽和放置来添加组件,然后使用布局管理器对它们进行合理的排列和布局。
3. 事件与回调函数GUI编程中,事件是指用户在界面上所进行的操作,如点击按钮、拖动滑动条等。
每个事件都会触发一个相应的回调函数,用于处理相应的操作逻辑。
在Matlab中,可以通过GUIDE工具箱中的回调编辑器来创建和编辑回调函数。
回调函数可以是Matlab代码脚本,也可以是自定义的函数。
4. 数据传递与处理在GUI编程中,通常需要将用户输入的数据传递给后台的计算模块,并将计算结果返回给界面进行展示。
为了实现数据的传递与处理,可以使用全局变量、共享数据对象或者消息传递等方式。
Matlab提供了丰富的数据处理函数和工具,可以方便地进行数据处理与分析。
5. 图形绘制与可视化Matlab作为一种数据可视化软件,提供了丰富的绘图函数和工具,可以轻松地创建各种图形。
在GUI界面中,可以通过绘图函数将计算结果以图形的形式显示出来,并通过交互操作来进行进一步的探索和分析。
MATLAB图形界面的使用方法
MATLAB图形界面的使用方法MATLAB(全称Matrix Laboratory)是一种用于科学计算和数据可视化的强大的数学软件工具。
它不仅具备强大的数值计算和分析能力,还集成了一套友好的图形界面,使得使用者可以直观地进行数据处理和可视化。
本文将介绍MATLAB图形界面的使用方法,帮助读者更好地掌握这个工具。
一、MATLAB的基本界面介绍在启动MATLAB后,会看到它的主界面,这个界面一般分为几个区域,如图1所示。
【插入图1:MATLAB主界面示意图】图1:MATLAB主界面示意图1. 菜单栏:位于主界面的上方,提供了各种操作和功能的选项,包括文件操作、编辑、运行、调试等等。
2. 工具栏:位于菜单栏下方,提供了一些常用的快捷按钮,如新建、打开、保存等。
3. 编辑器区域:位于主界面的左侧,用于编写和编辑MATLAB代码。
在这个区域,可以编写自己的函数、脚本或命令。
4. 工作区:位于主界面的右上角,用于显示当前MATLAB的工作空间。
在这个区域,可以查看已经定义的变量、函数等。
5. 命令窗口:位于主界面的右下角,是与MATLAB交互的主要途径。
我们可以在命令窗口中直接输入MATLAB命令,然后按回车键执行。
6. 图形窗口:位于主界面的中下方,用于显示MATLAB生成的图形和图像。
在这个窗口中,我们可以进行数据的可视化呈现。
二、图像的绘制MATLAB提供了丰富的绘图函数,可以绘制各种图形,如线图、柱状图、散点图等等。
下面以绘制折线图为例,介绍MATLAB的图形绘制方法。
1. 准备数据在绘制图形之前,首先需要准备好要绘制的数据。
可以通过直接输入数据,或者从文件中读取数据。
数据一般以矩阵或向量的形式存储,例如:x = 1:10;y = [3, 5, 6, 9, 11, 14, 18, 20, 23, 25];2. 绘制图形在命令窗口中输入以下代码,即可生成折线图:plot(x, y);xlabel('X轴');ylabel('Y轴');title('折线图');上述代码中,plot函数用于绘制折线图,x和y分别表示横轴和纵轴上的数据。
MATLAB教程 第十章 图形用户界面GUI制作
第十章 图形用户界面GUI 制作用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法。
如键盘、鼠标、跟踪球、话筒都可成为与计算机交换信息的接口。
图形用户界面(Graphical User Interfaces ,GUI )则是由窗口、光标、按键、菜单、文字说明等对象(Objects )构成的一个用户界面。
用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等。
假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考虑GUI 的制作。
但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一。
MATLAB 为表现其基本功能而设计的演示程序demo 是使用图形界面的最好范例。
MATLAB 的用户,在指令窗中运行demo 打开那图形界面后,只要用鼠标进行选择和点击,就可浏览那丰富多彩的内容。
即便比较熟悉MATLAB 的读者,在他初次编写GUI 程序时,也会感到棘手。
为使读者获得制作自己GUI 的体验,本章“入门”节提供了一个简单的示例。
读者只要输入所提供的程序,就可引出相应的界面。
本章第2节叙述图形用户界面的设计原则和一般制作步骤。
第3、4节分别介绍用户菜单、用户控件的制作。
出于“由浅入深”的考虑,前4节制作GUI 是通过M 脚本文件实现的。
利用M 函数文件制作GUI ,需要解决数据传递问题,为此专设第5节给予阐述和示例。
这前5节内容对读者理解交互图形界面的工作原理很有帮助。
本章第6节专述MATLAB6.5提供的界面设计工作台的使用。
值得指出:该设计工作台与MATLAB5.3版的设计工具有很大不同。
新的设计工作台显得更成熟、方便。
在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第9章关于图柄的内容。
10.1 入门【例10.1-1】对于传递函数为1212++=s s G ζ的归一化二阶系统,制作一个能绘制该系统单位阶跃响应的图形用户界面。
matlab-GUI-快速入门
一、图形顾客界面开发环境(GUIDE)
Matlab提供了一套可视化旳创建图形窗口旳工具,使 用图形顾客界面开发环境可以便地创建GUI应用程序,它 能够根据顾客设计旳GUI布局,自动生成M文件旳框架,顾 客使用这一框架编制自己旳应用程序。
图形顾客 界面GUI设计 窗口由菜单栏、 工具栏、控件 工具栏以及图 形对象设计区 等4个功能区 构成。
左图为空白 GUI模板情形
GUI设计 窗口旳菜单栏 有File、Edit、 View、Layout、 Tools和Help 6 个菜单项,使 用其中旳命令 能够完毕图形 顾客界面旳设 计操作。
编辑工具在菜单栏旳下方,提供了常用旳工具;设计 工具区位于窗口旳左半部分,提供了设计GUI过程中所用旳 顾客控件;空间模板区是网格形式旳顾客设计GUI旳空白区 域。
2. 控件对象旳描述
Matlab中旳控件大致可分为两种,一种为动作控件, 鼠标点击这些控件时会产生相应旳响应。一种为静态控件, 是一种不产生响应旳控件,如文本框等。
每种控件都有某些能够设置旳参数,用于体现控件旳外 形、功能及效果,既属性。属性由两部分构成:属性名和属 性值,它们必须是成对出现旳。
① 按钮(Push Buttons):执行某种预定旳功能或操作;
① 将控件对象放置到布局区
用鼠标选择并放置控件到布局区内; 移动控件到合适旳位置; 变化控件旳大小; 选中多种对象旳措施。
一 种 简 朴 旳 布 局 示 例
② 激活图形窗口
如所建立旳布局还没有进行存储,可用File菜单下旳 Save As菜单项(或工具栏中旳相应项),按输入旳文件 旳名字,在激活图形窗口旳同步将存储一对同名旳M文件 和带有.fig扩展名旳FIG文件。
matlab-GUI-操作讲义-图形用户界面设计
%字体大小
FontUnits normaliszed 位,缩放时保持字体比例
%采用相对度量单
HorizontalAlignment Center
%文字中心对齐
String
Grid on %在按键上显示Grid on
Tag
GridOn_push
%生成
handles.GridOn_push域存放该键句柄
6
7.1.2 一般制作步骤
界面制作包括界面设计和程序实现。 分析界面所要实现的主要功能,明确设
计任务; 绘界面草图,注意从使用者的角度来考
虑界面布局; 按构思的草图,上机制作静态界面; 编写界面动态功能程序。
7
7.2 图形用户界面设计
7.2.1 可视化的界面环境
MATLAB6.5版本提供的GUI设计工具较前面的版本 有较大的改善,设计界面变化很大。打开GUI设计 工具的方法有以下几种:
14
填写菜单名,如果在前面加“&”符号则加快捷键,当运
7.2.2 创建用户菜单 行时第一个字母会加下划线,以便用户快速激活菜单项
新 建 菜 单
新建子菜单1在.菜GU单菜单左右移I设、编计辑菜单上、下移工作删除菜单台分的隔菜符 单条选择“Tool”
标记
-”Menu Editor…”或单击工具栏“Menu
Tag
figuer1
%生成handles.figure1域存放图形窗句柄
29
7.3 图形用户界面设计工具应用(续)
在轴属性编辑框中,设置如下属性值:
Units normalized 缩放时保持比例
%采用相对度量单位,
Box off
%坐标轴不封闭
Tag
axes1
MATLAB实用教程GUI
第21页,共82页。
GUIDE提供的界面设计工具集包 括如下内容:
界面设计编辑器:添加并排列图形窗口 中的控件对象。
属性检查器:检查并设置控件的属性 值。
第22页,共82页。
➢ 对象浏览器:观察此次MATLAB运行过程 中图形对象的句柄集成关系表。
➢ 菜单编辑器:创建窗口菜单和上下文菜 单。
意控件(群)对其进行控件排列,当选择 【Tools】菜单下的【Align Objects】选 项时即可打开下图所示的排列工具栏。
第30页,共82页。
第31页,共82页。
(4)网线和标线 界面区域内可以使用网格和标线辅助
设计,当选择【Tools】菜单下的【Grid and Rulers】选项时即可打开下图所示的 网格和标线对话框。
第八章 图形用户 界面(GUI)
第1页,共82页。
本章将介绍:
图形用户界面的设计原则;
图形用户界面的操作步骤。
第2页,共82页。
目录
8.1 GUI设计向导
8.2 编程设计GUI
8.3 图形用户界面设计实例
习题
第3页,共82页。
8.1 GUI设计向导
8.1.1 GUI概述 8.1.2 启动GUIDE
口。
第25页,共82页。
(1)控件面板 在GUI界面中放置控件:
单击控件面板中需要放置控件的按钮; 在光标变为十字形后,使用十字形光标的
中心点来确定控件左上角的位置; 可以通过拖动鼠标来确定控件的大小。
第26页,共82页。
所有控件布置好后,可以使用激活按 钮或选择【Tools】菜单下的 【ActivateFigure】选项检查GUIDE的设 计结果,激活时将(提示)保存FIG文件和 M文件。
Matlab GUI 菜单和工具栏常用操作
Matlab GUI 常用操作菜单1.编辑菜单打开GUIDE,选择工具栏上面的菜单编辑按钮2.添加菜单回调函数(callback)菜单编辑完成保存后,在fig对应的m文件中会自动生成菜单的回调函数声明例如菜单tag名为menuFilePrint,则对应的callback函数为:function menuFilePrint_Callback(hObject, eventdata, handles)可以在该函数内添加代码实现功能。
3.菜单项访问获取菜单句柄在matlab的函数中要对某个菜单进行访问,必须获得该菜单的句柄。
如果是在菜单的回调函数里面,hObject就是该菜单的句柄;如果是在其他的函数里面要获得某一菜单的句柄,比如选中工具栏上的ZoomIn按钮,按钮处于被按下状态,同时要设置对应菜单项view->Zoom-Zoom In 为选中状态,如下图:这里要在按钮“ZoomIn”的callback函数里面实现对菜单menuViewZoomIn的状态设置。
首先得获得菜单的句柄:% first we must get the handle of menuZoomInhFigChildren = allchild(gcf);% menuView handlehMenuView = findobj(hFigChildren,'Tag','menuView');hvc = allchild(hMenuView);% menuViewZoomhViewZoom = findobj(hvc,'Tag','menuViewZoom');hvzc = allchild(hViewZoom);%menuZoomIn handlehZoomIn = findobj(hvzc,'Tag', 'menuZoomIn');获取设置菜单状态得到菜单的句柄后就可以得到菜单当前的状态了:if strcmp(get(hZoomIn, 'Checked'),'on')set(hZoomIn, 'Checked', 'off');elseset(hZoomIn, 'Checked', 'on');end工具栏1.不显示工具栏1)GUIDE开发界面在对应的m文件中找到function Main_OpeningFcn(hObject, eventdata, handles, varargin)在该函数里面添加:set(hObject,'Toolbar','none');2)M文件开发hMainFigure = figure(... % The main GUI figure'MenuBar','none', ...'Toolbar','none', ...'HandleVisibility','callback', ...'Color', get(0,...'defaultuicontrolbackgroundcolor'));2.显示“Figure”工具栏set(hObject,'Toolbar','figure');3.添加自定义工具栏set(hObject,'Toolbar','none');hToolbar = uitoolbar(hObject);hNewPushtool = uipushtool(... % Open toolbar button'Parent',hToolbar,...'TooltipString','New File',...'CData',imread('New.bmp'));'HandleVisibility','callback', ...'ClickedCallback', @hOpenMenuitemCallback);4.获取工具栏句柄% get toolbar handlehToolbar = findall(gcf,'Type','uitoolbar');if isempty(hToolbar), return, end5.获取figure工具栏按钮的tag值% get toolbar handlehToolbar = findall(gcf,'Type','uitoolbar');if isempty(hToolbar), return, end% get all childrenhChildren = allchild(hToolbar);if isempty(hChildren), return,endhTags = get(hChildren, ‘Tag’);hTags保存了工具栏所有按钮的tag值:6.获取设置figure工具栏按钮的callback函数%reset callback function for "Zoom in"hZoomIn = findobj(hChildren,'Tag','Exploration.ZoomIn');set(hZoomIn,'ClickedCallback',@tbZoomIn_Callback);function tbZoomIn_Callback(hObject, eventdata)% hObject handle to tbZoomIn (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB 7.删除figure工具栏按钮% set figure toolbar firstset(hObject,'Toolbar','figure');% get toolbar handletbh = findall(hObject,'Type','uitoolbar');if isempty(tbh), return, end% toolbar buttons collectionhChildren = allchild(tbh);if isempty(hChildren), return, end% delete data cursor buttonhDeleted = findobj(hChildren,'Tag','Exploration.DataCursor');delete(hDeleted);8.设置figure工具栏按钮的状态% get toolbar handlehToolbar = findall(gcf,'Type','uitoolbar');if isempty(hToolbar), return, end% get all childrenhChildren = allchild(hToolbar);if isempty(hChildren), return,endhTags = get(hChildren, 'Tag');% find "Zoom In" buttonhb = findobj(hChildren,'Tag','Exploration.ZoomIn');if isempty(hb),return, end% set stateif strcmp(get(hObject, 'Checked'),'on')set(hObject, 'Checked', 'off');set(hb,'State', 'off');elseset(hObject, 'Checked', 'on');set(hb,'State', 'on');end。
matlab gui面板的用法
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_第6讲_GUI界面设计
MATLAB_第6讲_GUI界面设计GUI(Graphical User Interface)是指图形用户界面,是一种通过图形化方式与计算机程序进行交互的界面方式。
MATLAB提供了强大的GUI设计工具,使用户可以方便地创建各种交互式界面。
在MATLAB中,可以使用GUIDE(GUI Development Environment)工具来创建GUI界面。
GUIDE工具提供了可视化的界面设计器,可以通过拖拽和调整控件的位置、大小和属性来设计界面。
GUI界面的设计通常包括两个主要的步骤:界面的布局和界面的回调函数的编写。
首先是界面的布局,可以通过在GUIDE工具中添加各种控件来设计界面的布局。
常见的控件包括按钮、文本框、复选框、单选按钮、滑动条等。
可以使用GUIDE工具提供的布局管理器来帮助快速设计界面。
布局管理器可以帮助控件在窗口缩放时自动调整位置和大小,以适应不同大小的窗口。
在设计界面时,还可以设置每个控件的属性,例如文本框的初始文本、按钮的颜色、滑动条的范围等。
还可以为控件添加回调函数,以实现控件的响应操作。
回调函数可以是MATLAB脚本文件或匿名函数,用于处理控件的事件,例如按钮的点击事件、滑动条值的改变等。
接下来是界面的回调函数的编写。
当用户与界面上的控件进行交互时,会触发控件的相应事件,从而调用对应的回调函数。
回调函数可以进行各种操作,例如读取用户输入的数据、进行运算、更新界面上的显示等。
编写回调函数时,可以使用MATLAB提供的丰富的函数库和工具箱来完成各种操作。
例如,可以使用MATLAB内置的数据分析函数来处理用户输入的数据,使用图形绘制函数来展示计算结果,使用文件操作函数来读取和保存数据等。
在编写回调函数时,还可以使用MATLAB的错误处理机制来增加程序的稳定性。
可以使用try-catch结构来捕获可能出错的代码块,并在出错时进行相应的处理,例如弹出错误提示框、记录错误日志等。
通过GUI界面,用户可以通过直观的操作方式与MATLAB程序进行交互,使得使用MATLAB更加方便和灵活。
(完整word版)matlab_gui初学者教程
什么是GUI呢? GUI是Graphical User Interface 图形用户界面的意思。
象很多高级编程语言一样。
Matlab也有图形用户界面开发环境。
随着计算机技术的飞速发展。
人与计算机的通信方式也发生的很大的变化。
从原来的命令行通讯方式(例如很早的DOS系统)变化到了现在的图形界面下的交互方式。
而现在绝大多数的应用程序都是在图形化用户界面下运行的。
记得读书的时候。
大学开学不久。
学校很多同学就开始报考全国计算机等级考试了。
当然我也是其中的一分子。
其中C语言是大多数人选择的科目。
当时在学C语言的时候。
经常也会遇到人机交互的例子。
譬如一个计算两个数相加的程序。
运行程序后便切换到了Dos模式。
然后在此模式下输入两个数。
再回车。
才能返回运算结果。
当时就觉得很不方便。
也不友好。
后来才得知C语言是面向过程的语言。
是非面向对象的语言(VC++,VB,Matlab等是面向对象的)。
那么下面我们就来看看Matlab是如何简单、快速而友好地解决这类问题的吧。
Matlab GUI编程教程(适用于初学者)1.首先我们新建一个GUI文件:File/New/GUI 如下图所示;选择Blank GUI(Default)2.进入GUI开发环境以后添加两个编辑文本框。
6个静态文本框。
和一个按钮。
布置如下图所示;布置好各控件以后。
我们就可以来为这些控件编写程序来实现两数相加的功能了。
3.我们先为数据1文本框添加代码;点击上图所示红色方框。
选择edit1_Callback。
光标便立刻移到下面这段代码的位置。
function edit1_Callback(hObject, eventdata, handles)% hObject handle to edit1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)% Hints: get(hObject,'String') returns contents of edit1 as text% str2double(get(hObject,'String')) returns contents of edit1 as a double然后在上面这段代码的下面插入如下代码:%以字符串的形式来存储数据文本框1的内容. 如果字符串不是数字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
五 GUI图形用户界面
4. 界面激活 保存静态界面后,利用工具栏上的运行按钮激活该界面。 激活后可以看到两个同名文件:experiment1.m和 experiment1.fig。 experiment1.m文件在M文本编辑器中打开, experiment1.fig文件显示为操作界面,但是无法实现任何功 能,需要编写回调函数。
15
五 GUI图形用户界面
对本例来说,首先需要定义几个用户变量,以便记录参加 handles = 运算的数值,进行计算。 mainWnd : 132.0002 p2 : 24.0006
Operation : 149.0002 p1 handles, : 23.0006 function Experiment1_OpeningFcn(hObject, eventdata, varargin) pDot : 148.0002 text3 : 22.0006 handles.output = hObject; pLog10 : 147.0002 text2 : 21.0006 handles.s_Exp=‘’; % 以字符串的形式记录计算表达式 pLog : 146.0002 frame4 : 20.0006 handles.s_Num=‘’; %以字符串的形式记录编辑框中要显示的数值 pCos : 145.0002 text1 : 19.0006 handles.i=1; % s_Exp的计数器 pClear : 18.0006 pSin : 144.0002 pDel : 143.0002 handles.j=1; % s_Num的计数器 pDone : 17.0006 pExp : 16.0006 handles.flag=0; pAdd : 142.0002 %用来区分四则运算和其他运算的标志 pDiv : 141.0002 frame3 : 15.0007 % Update handles structure pMul : 140.0002 frame2 : 133.0002 guidata(hObject, handles); p0 : 139.0002 p_Clear : 151.0002 p9 : 138.0002 p_Done : 150.0002 p8 : 137.0002 output : 132.0002 p7 : 136.0002 s_Exp : '50' p6 : 135.0002 s_Num : '5' p5 : 134.0002 i :2 p4 : 26.0006 j :2 p3 : 25.0006 flag : 0
7
五 GUI图形用户界面
以“计算器”界面草图一为例。 1. 初步布局,根据草图将控件选择区的相应控件拖拉到设计 工作区的相应位置。experiment1.fig
8
五 GUI图形用户界面
2. 修改控件属性 每一个控件都不可能是完全符合界面设计要求的,需要 对其属性进行设置,以获得所需的界面显示效果。 可以通过双击该控 件,或利用GUI设计工 具的下拉菜单[View: Property Inspector]打 开控件属性对话框。属 性对话框具有良好的交 互界面,以列表的形式 给出该控件的每一项属 性。 例如右图是“+”按 钮的属性列表。
13
五 GUI图面
§5.5 回调函数
在M文本编辑器中打开experiment1.m文件,可以看到自 动生成的回调函数,该函数的命名利用对象句柄进行区分, 没有任何执行语句。 回调函数:Tag_Callback(hObject, eventdata, handles), 通过加入自己的处理语句,可以实现所需的功能。 其中:hObject是该控件的句柄;eventdata是备用参数, 目前没有定义;handles是用户数据,本身是一个结构数组, 存放了当前窗口的所有对象的句柄,包括图形窗本身、所有 控件和菜单的句柄。并且可以增加一些域用来传递用户数据。 利用guidata( H, handles )可以更新 H 的用户数据。
9
五 GUI图形用户界面
下面对各控件的主要属性进行一下说明。 1) 双击设计工作区的空白部分,打开整个图形窗的属性框。 MunuBar: none %图形窗是否使用标准菜单 Units或FontUnits 可选择: inches(英寸),centimeters Name: %图形窗名称 (厘米 ), Experiment1 normalized(按比例缩放 ),points(点阵), pixels (像素 ), characters( 字符)。如果选择 normalized,那么当 Resize: off %图形窗不能缩放 resize 设为 on时,控件或字体大小随着整个窗口的缩放而改 Tag: mainWnd %图形窗的句柄 handles.mainWnd 变。 2) 静态文本编辑框的属性设置。以“Expression”文本框为例 水平对齐方式 HorizontalAlignment FontSize: 15 %字体大小 可以是left, center, right 。 FontUnits: points %字体大小的度量单位 控件句柄Tag有默认值,建议修改为带有具体含义的字 HorizontalAlignment: Center %对齐方式 符串,以增加程序可读性和方便回调函数调用。 String: Expression %待显示的字符 Tag: text1 %该静态文本框的句柄handles.text1 Units: points %文本框度量单位
4
五 GUI图形用户界面
GUI设计工具的启动界面
预览窗口
最近打开的界面文件的列表 新建界面的选项
打开文件浏览器
是否在新建时保存文件
5
五 GUI图形用户界面
GUI设计工作台
主要由4个功能区,六个实用工具组成
菜单条 工具条
对 齐 工 具
菜 单 编 辑
文 件 编 辑
对对 象象 属列 性表
运 行 界 面
17
五 GUI图形用户界面
四则运算的回调函数,以“+”为例
function pAdd_Callback(hObject, eventdata, handles) if handles.flag handles.s_Exp(handles.i)=')'; handles.flag=0; handles.i=handles.i+1; end handles.s_Exp(handles.i)='+'; handles.j=1; handles.s_Num=''; handles.i=handles.i+1; guidata(handles.mainWnd,handles); set(handles.pExp,'string',handles.s_Num)
16
五 GUI图形用户界面
数字按钮的回调函数,以数字1按钮的回调函数为例:
function p1_Callback(hObject, eventdata, handles) handles.s_Exp(handles.i)='1'; handles.s_Num(handles.j)='1'; handles.i=handles.i+1; handles.j=handles.j+1; guidata(handles.mainWnd,handles); set(handles.pExp,'string',handles.s_Num)
注意: 1) 先完成大致界面布局,再编写功能程序。 2) 界面风格要一致,且符合使用习惯。例如,一般习惯图形 区在上面或左面,控制区在下面或右面等等。
2
五 GUI图形用户界面
例如,以本次试验的内容“计算器”为例。 1) 功能分析:完成数字的四则运算,以及一部分常用的科学 计算:sin, cos, log等等。 2) 界面草图:可以有多种风格的界面。给出几种设计草图。 草图一 草图二 草图三 3) 利用GUI设计工具实现草图的布局,experiment1.fig。 4) 编写相应的程序完成计算器的各项功能,experiment1.m。
12
五 GUI图形用户界面
§5.4 用户菜单的制作
图形用户界面有一个标准图形窗菜单,包括五个菜单项: File, Edit, Tools, Windows, Help。默认情况下,利用GUI工 具设计的图形界面是不显现菜单项的。可以通过修改图形界 面的“MenuBar”属性值选择显示标准图形窗菜单“figure” 或不显示菜单“none”。 在GUI图形界面设计工具中打开刚才的experiment1.fig界 面(或利用guide experiment1命令),单击工具条上的菜单 编辑器打开空白菜单编辑界面。利用编辑界面上的New Menu和New Menu Item,以及可以对菜单项进行上下左右调 整的四个工具创建合适的菜单。 注意:菜单属性中的“Label”是显示的菜单名称,“Tag” 是该菜单项的句柄,“callback”是该菜单的回调函数,不需 修改,采用默认值。
设计原则和一般步骤
五 GUI 图 形 用 户 界 面
图形用户界面设计工具介绍 用户控件的制作 用户菜单的制作 回调函数 M函数文件实现图形用户界面
实验一:计算器程序
1
五 GUI图形用户界面
§5.1 设计原则和一般步骤
1) 2) 3) 4) 分析界面所要实现的主要功能,明确设计任务。 绘界面草图,注意从使用者的角度来考虑界面布局。 利用GUI设计工具制作静态界面。 编写动态功能程序。
3
五 GUI图形用户界面
§5.2 图形用户界面设计工具介绍
MATLAB6.5版本的GUI设计工具较前面的版本有很大的 改善,设计界面变化很大。 打开GUI设计工作台的命令: guide %打开设计工作台启动界面 guide file %在工作台中打开文件名为file的用户界面 菜单项[ File:New->GUI ] %打开设计工作台启动界面 注意:guide命令中文件名不区分大小写。 打开的GUI启动界面提供新建界面( Create New GUI )或 打开已有界面文件( Open Existing GUI )的属性页。新建界面 可以选择空白界面、包含有控件的模板界面、包含有轴对象 和菜单的模板界面、标准询问窗口等选项。 选择任意一项都会打开GUI设计工作台,对界面静态组 成部分进行的具体的修改都在工作台实现。