matlab_GUI设计中常用控件格式
matlab gui表格的用法
MATLAB GUI(Graphical User Interface)中的表格控件可以用于显示和编辑数据。
以下是MATLAB GUI表格的基本用法:创建表格:在GUIDE中,你可以从组件工具栏中选择“表格”并将其拖放到GUI界面中。
属性设置:Data:这是表格的核心属性,表示表格中的数据。
它是一个元胞数组,其中每个单元格又是一个元胞数组,包含该单元格的内容。
ColumnName:设置表格的列名。
RowName:设置表格的行名(如果适用)。
ColumnEditable:决定哪些列是可编辑的。
可以通过属性检查器进一步定制表格的外观和行为,如字体、颜色、大小等。
填充数据:使用set函数来填充数据。
例如,set(handles.uitable1, 'Data', yourCellArray),其中yourCellArray 是一个元胞数组,包含了要显示的数据。
如果你想设置列名,可以使用set(handles.uitable1, 'ColumnName', yourColumnNames),其中yourColumnNames是一个元胞数组,包含了列名。
获取数据:使用get函数来获取表格中的数据。
例如,data = get(handles.uitable1, 'Data')。
回调函数:表格控件有多种回调函数,如CellSelectionCallback(当单元格被选中时调用)和CellEditCallback(当单元格编辑完成时调用)。
你可以根据需要编写这些回调函数来响应用户的操作。
保存和加载数据:你可以使用MATLAB的文件I/O函数(如xlswrite、xlsread等)来保存和加载表格数据。
外部数据导入:如果你想从Excel或其他外部数据源导入数据到表格中,可以使用相应的MATLAB函数(如xlsread)来读取数据,并将其设置为表格的Data属性。
注意事项:确保在引用表格控件时使用正确的句柄名。
matlab-GUI设计中常用控件格式
matlab-GUI设计中常用控件格式MATLAB GUI新手备忘录1、从最简单的开始编程最基本的目的:就是——我执行一个操作,程序做出一个反应。
“一个操作”包括:点击鼠标,拖动滑块,填写数据,选择选项……“做出一个反应”包括:计算一些东西,然后储存在哪里,或者贴个图出来,或者显示在哪里……-------------------------------------------------------------------------------------- 编程的基本思想:目的->当点击按钮A时,然后执行任务C,则->进入按钮A的回调函数callback里,写下任务C的代码。
-------------------------------------------------------------------------------------- a:不知道callback在哪??右键单击按钮,view callbacks->选择callback)别的控件也一样。
a:不同的回调函数啥意思??callBack最常用的就是它。
如果控件是按钮,那点击按钮时,则按钮下的Callback就会执行;如果是滑块,则拖动滑块时,滑块名下的callback就会执行;总之,就是对控件默认操作时,matlab后台就会自动调用它名下的的callback。
正常用途,全放在callback下就够了。
如果其他的,实在是想知道,了解一下也未尝不可。
ButtonDownFcn就是鼠标在它(代指各种控件)上面点击一下,你放在这个函数名下的代码就会执行。
(ps:按钮的callback也是点击,所以会覆盖掉这个buttondownfcn。
)CreateFcn顾名思义,在生成这个控件,显示之前,执行你放在这个函数名下的代码;DeleteFcn一样。
在控件要销毁,但是被毁灭之前执行这个函数名下的代码。
貌似“真的要退出吗”这一类就是写在这里。
matlab-GUI-设计(简易科学计算器)
MATLAB大作业班级:姓名:学号:计算器➢题目本题目通过MATLAB的gui程序设计较为简单,在gui设计中主要用到三种控件,文本编辑框(edit text),静态文本框(Static text),命令按钮(push button)。
然后在通过各个按钮的回调函数,实现简单的计算功能。
➢1、功能介绍(1)具有友好的用户图形界面。
实现十进制数的加、减、乘、除、乘方、开方等简单计算。
(2)具有科学计算函数,包括(反)正弦、(反)余弦、(反)正切、(反)余切、开方、指数等函数运行。
(注:三角函数计算的是弧度而不是角度)。
(3)有清除键,能清除操作。
➢2、功能实现程序由两个部分组成:MATLAB代码(.m文件)和GUI图形(.fig)。
程序使用的流程:直接利用图形界面中的按键键入所需数值、运算符等即可得出结果。
备注:软件版本:MATLAB 2011b首先用MATLAB GUI功能,在绘制一个静态文本框和一个文本编辑框,以及33个命令按钮,调整好各控件大小、颜色,整体布局如图所示:(附录中有相关属性修改介绍)然后通过双击各个按钮来改写其属性,在m文件中编写其回调函数,最后在运行调试。
2.1 各功能界面设计GUI设计界面:注:底部边框用(Panel)工具添加,有两种设计顺序。
(1、先加底部边框,再在底部边框上画功能键。
2、先画功能键,布好局,画底框,全选功能键拖动到底框上。
)2.2 各功能模块实现(可根据需要增减功能键)算法设计:1. 数字键设计:0—9以及小数点函数都一样,只是参数不同:例如:按键‘1’响应:global jjtextString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)&(jj==0)set(handles.text1,'String','1') ;elsetextString =strcat(textString,'1');set(handles.text1,'String',textString)endjj=0;2. 四则运算函数:‘+’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'+');set(handles.text1,'String',textString)‘-’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'-');set(handles.text1,'String',textString)‘×’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'*');set(handles.text1,'String',textString)‘÷’功能响应:textString = get(handles.text1,'String');textString =strcat(textString,'/');set(handles.text1,'String',textString)3. 科学计算函数:例如:‘sin’功能响应:textString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)set(handles.text1,'String','0.') ;elsea = strread(textString, '%f');a=sin(a);set(handles.text1,'String',a)end4. 退格键(DEL):通过取屏幕值,计算出其字符长度,然后取其前N-1项的值来实现退格:global jjtextString = get(handles.text1,'String');if(strcmp(textString,'0.')==1)&(jj==0)set(handles.text1,'String','0.') ;elsess=char(textString);l=length(textString);textString=ss(1:l-1);set(handles.text1,'String',textString)endjj=0;5. 清屏键函数(AC):set(handles.text1,'String','0.') ;2.3 各模块程序添加方法选中一个需添加程序的功能键,右击,View Callbacks,Callback,出现如下图所示界面。
matlab_GUI_设计的控件使用
Matlab GUIDE使用总结--Matlab GUI界面(zz)去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录。
从简单的例子说起吧。
创建Matlab GUI界面通常有两种方式:1,使用 .m 文件直接动态添加控件2. 使用GUIDE 快速的生成GUI界面显然第二种可视化编辑方法算更适合写大型程序。
一:创建GUI1.在 .m文件中动态添加例如h_main=figure(…name‟,…a demo of gui design‟,…menubar‟,…none‟,…'numbertitle','off','position',[100 100 300 100]);h_edit=uicontrol('style','edit','backgroundcolor',[1 1 1],'position',[20 20 50 20],...'tag','myedit','string','1','horizontalalignment','left');h_but1=uicontrol('style','pushbutton','position',[20 50 50 20],'string','INC',...'callback',['v=eval(get(h_edit,''string''));',...'set(h_edit,''string'',int2str(v+1));']);h_but2=uicontrol('style','pushbutton','position',[80 50 50 20],'string','DEC',...'callback',['v=eval(get(h_edit,''string''));','set(h_edit,''string'',int2str(v-1));']);2.使用GUIDE帮助创建GUI在Command 里面输入GUIDE 或者从菜单里面,或者从快捷按钮均可进入GUIDE新建并且保存后,会生成相应的fig文件和m文件,在Layout编辑视图,可以使用如下工具:Layout Editor:布局编辑器;Alignment Tool:对齐工具;Property Inspector:对象属性观察器;Object Browser:对象浏览器;Menu Editor:菜单编辑器。
MatlabGUI设计详细说明
MatlabGUI设计详细说明Matlab GUI设计⼩结1.pushbutton在function pushbutton1_Callback(hObject,eventdata,handles)下进⾏pushbutton功能设计,按下pushbutton后会执⾏回调函数callback中的程序,双击pushbutton弹出属性编辑对话框,在String中可以键⼊pushbutton的名字function pushbutton1_Callback(hObject,eventdata,handles)%功能程序代码guidata(hObject,handles);2.edit编辑框%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%get()set()num2str()str2num()open函数名%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% edit可以作为输⼊输出读⼊数据d=get(handles.edit1,’String’);这时读进来的是字符型数据,通过str2num可以转换成double型d=str2num(d);作为输出,通过set来设置,输出的应该是字符型,可以通过num2str把set(handles.edit1,’String’,num2str(d));matlab的系统函数如get(),set(),num2str(),str2num()可以通过在matlab命令⾏中键⼊open函数名来查看函数实现源代码3.static text静态⽂本框text只能作为输出,通过set(handles.text1,’String’,str)来设置text显⽰的内容,也可以在属性编辑对话框中String中直接键⼊。
4.popupmenu下拉菜单这是第⼀个⽐较复杂的对象。
在GUI编程可以直接在属性编辑对话框中String⼀项直接键⼊下拉菜单中的内容然后是如何读取下拉菜单中选中的内容通过Value可以获取下拉菜单中当前选中的是哪⼀个String,Val=get(handles.popupmenu1,’Value’)返回的是下拉菜单中选中的string对应的位置Popupmenu其实是⼀个字符串数组,Value返回的是当前选中的字符串在数组中的下标,下标是从1开始。
matlab,gui中switch用法
MATLAB GUI中的Switch用法1. 简介MATLAB是一种专门用于科学计算和数据分析的高级编程语言和交互式环境。
在MATLAB中,GUI(Graphical User Interface,图形用户界面)是一个非常有用的工具,可以帮助用户以更直观的方式与程序进行交互。
而Switch(开关)是GUI中常用的控件,它可以根据用户的选择执行不同的操作。
2. Switch控件的基本语法在MATLAB的GUI中,Switch是一种可以让用户在几个选项中进行选择的控件。
它的基本语法如下所示:```matlabswitch = uiswitch(parent)```其中,'parent'参数代表Switch控件的父级对象,可以是Figure、Panel等。
通过这个语法,可以创建一个Switch控件并将其添加到GUI中。
3. Switch控件的属性Switch控件有许多可配置的属性,例如Position(位置)、Items(选项)、ValueChanged(数值改变时的回调函数)等。
在使用Switch控件时,可以根据需要设置这些属性以实现特定的功能。
4. Switch控件的常见用法Switch控件通常用于根据用户的选择执行不同的操作。
在一个应用程序中,可以使用Switch控件来选择不同的数据处理方式,或者切换不同的显示模式。
在MATLAB GUI中使用Switch控件的常见步骤如下:1)创建Switch控件需要创建一个Switch控件并添加到GUI中。
可以使用上面提到的基本语法,在需要添加Switch控件的位置创建一个Switch对象。
2)设置Switch控件的属性接下来,可以根据需要设置Switch控件的各种属性。
可以使用Items 属性设置Switch控件的选项,使用ValueChanged属性设置Switch 控件数值改变时的回调函数等。
3)处理Switch控件的数值改变事件当用户在GUI中选择了Switch控件的某个选项时,Switch控件的数值会发生改变,可以通过设置ValueChanged属性来处理这个事件。
MatlabGUI菜单设计
因其调用方法不同,该函数可以用于建立一级菜 单项和子菜单项。 建立一级菜单项的函数调用格式为: 一级菜单项句柄=uimenu(图形窗口句柄,属性 名1,属性值1,属性名2,属性值2,…)
③ UserData属性 UserData属性的取值是一个矩阵,缺省值为空矩阵, 用户可以在这个属性中保存与该菜单对象相关的重要数 据或信息,借此可以达到传递数据或信息的目的。可以 用set和get函数访问该属性。 回调属性(callback)和菜单名(label)
【*例 11.3.3.1-1】本例的目标是:在图形窗上自制一个名为【Test】的“顶层菜 单项”;当用鼠标点动该菜单项时,将产生一个带分格的封闭坐标轴。通过本 例说明:(A)回调属性的运作机理;(B)用户顶层菜单项的制作(C) uimenu 属性的设置方法;(D)复杂字符串的构成方法和注意事项。 (1)在 MATLAB 指令窗中运行以下程序可产生带分格的封闭坐标轴(如下图) grid on,set(gca,'box','on')
(2)在 MATLAB 指令窗中用以下
eval 指令可产生与图 11.3.3.1-1 相同 的界面
eval('grid on,set(gca,''box'',''on'')') (3)产生题目要求的界面的 uimenu 的书写格式为:直接连续表 示法: uimenu('Label','Test','Callback','grid on,set(gca,''box'',''on''),')
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设计与开发
MATLAB中的GUI设计与开发引言:随着科技的不断进步,人们对于软件和应用的需求也越来越高。
GUI (Graphical User Interface,图形用户界面)成为了现代应用程序开发的重要组成部分,它能够提供直观、友好的操作界面,大大简化了用户对软件的使用难度。
在众多的GUI开发工具中,MATLAB凭借其强大的计算能力和易用的界面设计工具而备受青睐。
本文将介绍MATLAB中的GUI设计与开发,探讨其优势和应用领域。
一、MATLAB的GUI设计工具MATLAB提供了一套完整的GUI设计工具,包括GUIDE(GUI Development Environment,界面开发环境)和App Designer。
GUIDE是MATLAB早期版本中使用的界面设计工具,而App Designer则是从MATLAB R2016a版本开始引入的新一代GUI设计工具。
两者均可用于创建交互式应用程序,但App Designer在功能和易用性方面更加强大。
二、GUI设计的基本元素在MATLAB中,GUI界面由各种控件(或称为组件)组成,如按钮、输入框、复选框等。
这些控件可以直接拖拽到界面上,并通过属性设置进行个性化定制。
1.按钮(Button)按钮是GUI设计中最常用的控件之一,它可以用于实现各种功能,如计算、切换界面等。
MATLAB中的按钮有多种样式可选,例如普通按钮、复选按钮和单选按钮等。
2.输入框(Edit Field)输入框用于接收用户输入的文本信息,比如数字、字符串等。
MATLAB中的输入框有多种属性可以设置,如默认值、字符类型限制等。
3.复选框(Checkbox)复选框用于给用户提供选择的机会,可以用于实现多选功能。
MATLAB中的复选框可以设置默认选中状态,并通过回调函数获取用户的选择结果。
4.列表框(List Box)列表框用于展示一组选项,并且允许用户进行选择。
MATLAB中的列表框可以通过添加选项和设置默认选中项来实现。
matlab使用GUI的Axes控件读取图片或绘制曲线
matlab使⽤GUI的Axes控件读取图⽚或绘制曲线近期准备把⼀些之前在matlab上仿真的程序做成GUI便于后续的使⽤,因此⼜研究了⼀下GUI的使⽤,之前⽤GUI做过⼀个⼩⼯具,不过没有整理相关的内容,因此这次在制作GUI的过程中把⼀些常⽤的控件的使⽤进⾏简单的讲解。
在matlab程序中常常会⽤plot函数绘制⼀些图像⽤于分析,在GUI中⾃然也要充分利⽤图像显⽰的控件,达到更加直观的演⽰效果。
⾸先建⽴⼀个空的GUI⽂件,进⼊gui编辑界⾯,下图中左侧菜单栏⾥坐标图样的控件就是axes控件选中axes控件后在空⽩界⾯中左键进⾏拖拽即可得到⼀个空⽩的axes1。
为了在axes⾥⾯画点东西,添加⼀个按钮⽤于产⽣触发事件,当然也可以选择打开gui时显⽰或是其他的事件触发时显⽰。
右键按钮后,菜单中在查看回调选项⾥找到callback,点击后进⼊matlab编辑器界⾯,下⾯写⼀个简单的触发事件,显⽰⼀个正弦波信号,这⾥我们先使⽤axes函数选择⽤来显⽰的控件,然后和普通的matlab⼀样plot即可。
function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)t=0:0.01:1;axes(handles.axes1)plot(sin(50.*t)) 写好我们想显⽰的内容后保存m⽂件在gui编辑界⾯点击绿⾊箭头运⾏后,产⽣我们刚刚做好的gui界⾯。
点击按钮即可得到刚才我们写的触发函数的输出结果。
在Matlab中使用GUI工具箱进行界面设计
在Matlab中使用GUI工具箱进行界面设计Matlab是一款功能强大的科学计算软件,它不仅可以进行数值计算和数据分析,还提供了用于图形用户界面(Graphical User Interface,简称GUI)的工具箱。
通过GUI工具箱,用户可以设计出直观、易用的界面,方便自己和他人使用和操作自己编写的程序。
GUI工具箱提供了丰富的可视化组件,如按钮、文本框、下拉菜单等,以及一系列的回调函数,使得在Matlab环境中进行GUI设计变得相对简单。
下面我将简单介绍一下在Matlab中使用GUI工具箱进行界面设计的流程和常用技巧。
首先,打开Matlab软件,创建一个新的GUI应用程序。
在Matlab命令窗口中输入"guide"命令,即可打开GUI编辑器。
在GUI编辑器中,可以选择默认的空白界面或基于模板的预设界面进行设计。
在设计界面之前,需要明确自己的需求和设计目标。
例如,设计一个简单的计算器界面,包含输入框、按钮和显示框等组件。
接下来,可以通过拖拽和放置组件等方式来设计界面。
在GUI编辑器的左侧可以看到工具箱,其中包含了各种可用的界面组件。
不同组件有不同的属性,可以通过调整属性值来实现个性化的设计。
例如,我们可以在界面上放置一个输入框组件,用于用户输入计算器的操作数。
在属性编辑器中,可以设置输入框的位置、大小、默认值等属性。
同样地,我们可以在界面上放置一个按钮组件,用于用户点击进行计算。
在属性编辑器中,可以设置按钮的文本、位置、大小等属性。
在设计完界面之后,需要为按钮组件添加回调函数,以响应用户的操作。
回调函数是一种特殊的函数,当用户与界面交互时会被调用。
回调函数可以通过访问界面上的组件来获取用户输入的数据,并进行相应的计算和操作。
在Matlab中,可以通过编辑按钮的"Callback"属性来设置回调函数。
例如,我们可以为计算按钮添加如下的回调函数:function calculateButton_Callback(hObject, eventdata, handles)operand = str2double(get(handles.inputBox, 'String'));result = calculate(operand);set(handles.outputBox, 'String', num2str(result));上述回调函数中,首先通过获取输入框组件的字符串,将用户输入的操作数转换为浮点数。
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程序设计
%得到当前方位角在滚动条中的实际数值;
handles.az= val1;
%对handles.az重新赋值;
guidata(hObject,handles); % 存储handles结构.
if isnumeric(val) & val >= -90 & val <= 90 %判断若输入的数值在规定范围
view([handles.az,handles.el]);
else
errordlg('输入参数错误!输入数值在[-90,90]之间!');
set(handles.edit_el,'String','30' );
end
errordlg函数,是一个Matlab自定义的弹出式 出错对话框函数,该函数的输入参数为对话框 上显示的字符串.当程序执行到此时,会弹出一 个出错对话框,并显示出错信息: 输入参数错误!输入数值在[-90,90]之间!
GUI界面设计
后台回调函数设计
(1) GUI程序启动与界面简介
新建一个GUI程序,可以Command Window中输入 guide,或者在Matlab界面菜单上点击
在弹出的对话框中,选择“Creat New GUI”的“Blank GUI(Default)”选项,选择OK后,即打开一个空 白的GUI程序界面,
保存后运行,可发现此时已在轴上绘制出peaks的图形, 且视角显示对应的数据,这表明此时已经自动运行了该 函数.但拖动滚动条时程序没有反应,这是因为还没设置 拖动滚动条时的回调函数.
(2)为编辑框设置回调函数
在prog1_8.fig上,选中edit_az编辑框,点右键,选中 “view Callbacks”,选中Callback,即进行回调函数编写.
matlab-GUI-设计的控件使用
Matlab GUIDE使用总结--Matlab GUI界面(zz)去年做了一些关于Matlab GUI的程序,现在又要做相关的东西,回想起来,当时很多经验没有记录下来,现在回顾起来始终觉得不爽,所以从现在开始,一定要勤写记录。
从简单的例子说起吧。
创建Matlab GUI界面通常有两种方式:1,使用 .m 文件直接动态添加控件2. 使用GUIDE 快速的生成GUI界面显然第二种可视化编辑方法算更适合写大型程序。
一:创建GUI1.在 .m文件中动态添加例如h_main=figure(‘name’,‘a demo of gui design’,‘menubar’,‘none’,…'numbertitle','off','position',[100 100 300 100]);h_edit=uicontrol('style','edit','backgroundcolor',[1 1 1],'position',[20 20 50 20],...'tag','myedit','string','1','horizontalalignment','left');h_but1=uicontrol('style','pushbutton','position',[20 50 50 20],'string','INC',...'callback',['v=eval(get(h_edit,''string''));',...'set(h_edit,''string'',int2str(v+1));']);h_but2=uicontrol('style','pushbutton','position',[80 50 50 20],'string','DEC',...'callback',['v=eval(get(h_edit,''string''));','set(h_edit,''string'',int2str(v-1));']);2.使用GUIDE帮助创建GUI在Command 里面输入GUIDE 或者从菜单里面,或者从快捷按钮均可进入GUIDE新建并且保存后,会生成相应的fig文件和m文件,在Layout编辑视图,可以使用如下工具:Layout Editor:布局编辑器;Alignment Tool:对齐工具;Property Inspector:对象属性观察器;Object Browser:对象浏览器;Menu Editor:菜单编辑器。
第七章 MATLAB的GUI 程序设计
第七章MATLAB的GUI 程序设计Chapter 8: Design of MATLAB of GUIprogramGUI(Graphical User Interfaces):由各种图形对象组成的用户界面,在这种用户界面下,用户的命令和对程序的控制是通过“选择”各种图形对象来实现的。
目前90%以上的应用程序和软件都是在GUI下运行的。
MATLAB有两种GUI用户界面控件的创建方式,基于命令行的方式用程序来制作和基于GUI的方式制作。
这里主要介绍基于GUI 的方式。
MATLAB 的GUI的基本图形对象分为控件对象和用户界面菜单对象(包括固定菜单和现场菜单),简称控件和菜单。
一.控件对象及属性(Object and its attributes of controller))1. GUI控件对象类型(The mode of controller object)控件对象是事件响应的图形界面对象。
当某一事件发生时,应用程序会做出响应并执行某些预定的功能子程序(Callback).常用的基本控件:(1)按钮(Push Buttons):执行某种预定的单功能或操作;(2)开关按钮(Toggle Button):产生一个动作并指示一个二进制状态(开或关),当鼠标点击它时按钮将下陷,并执行callback(回调函数)中指定的内容,再次点击,按钮复原,并再次执行callback 中的内容;(3)单选框(Radio Button):单个的单选框用来在两种状态之间切换,多个单选框组成一个单选框组时,用户只能在一组状态中选择单一的状态,或称为单选项;(4)复选框(Check Boxes):单个的复选框用来在两种状态之间切换,多个复选框组成一个复选框组时,可使用户在一组状态中作组合式的选择,或称为多选项;(5)文本编辑器(Editable Texts):用来使用键盘输入字符串的值,可以对编辑框中的内容进行编辑、删除和替换等操作;(6)静态文本框(Static Texts):仅仅用于显示单行的说明文字;(7)滚动条(Slider):可输入指定范围的数量值;(8)边框(Frames):在图形窗口圈出一块区域;(9)列表框(List Boxes):在其中定义一系列可供选择的字符串;(10)弹出式菜单(Popup Menus):让用户从一列菜单项中选择一项作为参数输入;(11)坐标轴(Axes):用于显示图形和图象2.控件对象的描述(Description of controller object)MATLAB中的控件大致可分为两种,一种为动作控件,鼠标点击这些控件时会产生相应的响应。
MATLABGUI界面设计资料
22
火龙果整理
4. 菜单编辑器(Menu Editor)
菜单编辑器左上角的第四 个与第五个按钮用于对选 中的菜单进行左移与右移, 第六与第七个按钮用于对 选中的菜单进行上移与下 移,最右边的按钮用于删 除选中的菜单。
23
火龙果整理
5. 对象浏览器(Object Browsers)
3
图形用户界面设计工具的启动
图形用户界面设计工具的启动方式: 1. 命令方式
火龙果整理
图形用户界面GUI设计工具的启动命令为guide,格式为: 1)guide 功能:启动GUI设计工具,并建立名字为untitled.fig的图形 用户界面。 2)guide filename 功能:启动GUI设计工具,并打开已建立的图形用户界面 filename。
28
2.控件对象的属性 (Attributes of controller object)
火龙果整理
每种控件都有一些可以设置的参数,用于表现控件 的外形、功能及效果,即属性。属性由两部分组成: 属性名和属性值,它们必须是成对出现的。 用户可以在创建控件对象时,设定其属性值,未指 定时将使用系统缺省值。 两大类控件对象属性:第一类是所有控件对象都具 有的公共属性,第二类是控件对象作为图形对象所具 有的属性。
1. 布局编辑器(Layout editor)
3) 运行GUI程序 在命令窗口直接键入文件名或用openfig, open或hgload命令运行GUI程序。
14
火龙果整理
4) 布局编辑器参数设置
File菜单下的
Preferences菜
单项打开参数 设置窗口,点 击树状目录中 的GUIDE, 即可以设置布 局编辑器的参 数。
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更加方便和灵活。
matlab复选框逻辑值
标题:Matlab复选框逻辑值的使用及应用引言:Matlab是一种强大的数学计算和数据可视化软件,广泛应用于科学、工程和技术领域。
其中,复选框是Matlab GUI界面设计中常用的控件之一,用于选择或显示逻辑值。
本文将介绍复选框的基本概念、使用方法以及在Matlab中的应用场景。
一、复选框的基本概念复选框是一种用户界面控件,通常呈现为一个方框,可以勾选或取消勾选。
它代表了一个逻辑值,即“真”或“假”。
在Matlab中,复选框通过逻辑变量来表示,通常用于用户交互、条件判断及数据过滤等方面。
二、复选框的创建与属性设置在Matlab中,可以使用uicontrol函数创建一个复选框控件,并设置其相关属性。
常用的属性包括位置、大小、标签、选中状态、回调函数等。
通过设置这些属性,可以自定义复选框的外观和行为。
三、复选框的使用方法1. 显示逻辑值:复选框可以根据逻辑变量的取值来显示相应的勾选状态。
使用set函数可以动态地改变复选框的选中状态,从而实现逻辑值的显示和更新。
2. 用户交互:用户可以通过点击复选框来改变其选中状态。
可以通过设置回调函数来响应用户的交互行为,并进行相应的处理操作。
3. 条件判断:通过获取复选框的选中状态,可以实现条件判断功能。
根据复选框的状态,执行不同的代码分支,从而满足特定的逻辑需求。
4. 数据过滤:复选框还可以用于数据过滤操作。
例如,可以利用复选框来选择需要展示或处理的数据子集,提高数据处理的灵活性和效率。
四、复选框的应用场景1. 图形界面设计:复选框常用于Matlab图形界面(GUI)的设计,提供用户选择的功能。
例如,在数据可视化界面中,复选框可以用来选择显示的曲线或图像。
2. 参数设置:复选框可以用于设置算法或模型的参数。
用户可以通过勾选或取消勾选复选框来启用或禁用某个功能,实现参数的灵活调整。
3. 数据处理:在数据处理过程中,复选框可用于选择不同的处理方式或过滤条件。
例如,在数据清洗过程中,可以根据复选框的状态选择是否删除异常值。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
MATLAB GUI新手备忘录1、从最简单的开始编程最基本的目的:就是——我执行一个操作,程序做出一个反应。
“一个操作”包括:点击鼠标,拖动滑块,填写数据,选择选项……“做出一个反应”包括:计算一些东西,然后储存在哪里,或者贴个图出来,或者显示在哪里……-------------------------------------------------------------------------------------- 编程的基本思想:目的->当点击按钮A时,然后执行任务C,则->进入按钮A的回调函数callback里,写下任务C的代码。
-------------------------------------------------------------------------------------- a:不知道callback在哪??右键单击按钮,view callbacks->选择callback)别的控件也一样。
a:不同的回调函数啥意思??callBack最常用的就是它。
如果控件是按钮,那点击按钮时,则按钮下的Callback就会执行;如果是滑块,则拖动滑块时,滑块名下的callback就会执行;总之,就是对控件默认操作时,matlab后台就会自动调用它名下的的callback。
正常用途,全放在callback下就够了。
如果其他的,实在是想知道,了解一下也未尝不可。
ButtonDownFcn就是鼠标在它(代指各种控件)上面点击一下,你放在这个函数名下的代码就会执行。
(ps:按钮的callback也是点击,所以会覆盖掉这个buttondownfcn。
)CreateFcn顾名思义,在生成这个控件,显示之前,执行你放在这个函数名下的代码;DeleteFcn一样。
在控件要销毁,但是被毁灭之前执行这个函数名下的代码。
貌似“真的要退出吗”这一类就是写在这里。
KeyPressFcn当前控件获得焦点且有按键按下时执行。
(什么是焦点?就是这个控件被鼠标点了(或者是tab 轮选到了)。
你打开一个记事本,然后再点这个网页,再随便按几个按键,记事本上有字不?没有对吧。
因为它没获得焦点,所以你的按键它不会反应的。
只有你最后再点它一下,再按几个按键,结果怎么样?有字了吧?)这里的KeyPressFcn也是一样的道理。
一般在这下面的代码还会判断下按键是什么,然后执行相应的代码。
ResizeFcn,SelectionChangeFcn 不常用。
也懒得去看了。
附几句,控件都有Resize的属性,好像默认是不可调整,如果要用到这个函数,去把它打开先。
SelectionChangeFcn是在群按钮组件中,改变选择时,所执行的函数。
-------------------------------------------------------------------------------------- 哪些控件支持哪些回调函数?你在它上面右键就可以看到了,点进去就可以编辑了。
可以在property inspect中在需要的回调函数下设置%automatic就可以自动添加相应的回调第八章结论函数框架。
2、常用控件代码框架参考---------------------------------------------------------------------Toggle Button的callback一般写法toggle button是什么?设计面板上,左边那一栏图标,看到它名字了吧?没看到?File->preference->GUIDE->把那个show names那一栏勾选上。
好了,可以看到了吧。
知道是什么了吧?拖进来,双击它,看到它的属性设置表。
上面各种各样的属性,以后有时间慢慢研究。
点下它时,它默认value ='Max'不点下它时,它value='Min'--------代码:functon togglebutton1_callback(hObject,eventdata,handles)%这一句,现在不用管。
自动加的。
%%%以下是一般代码button_state = get(hObject,'Value')%控件甲的callback下面hObject就是控件甲,同理控件乙callback下的hObject......if button_state==get(hObject,'Max')%则怎么怎么怎么else if button_state==get(hObject,'Min')%则怎么怎么怎么end--------备注:button_state随便取的变量名,存放按钮的选择状态,别以为它是什么喔。
如果你的button甲是放在一个buttonGroup里面,则button甲callback下的代码就要挪到buttonGroup下面去。
因为buttonGroup的回调函数会覆盖掉它成员的回调函数。
----------------------------------------Radio Buttons------代码:右键点选你的Radio按钮,进入编辑callbackfunction ………………略if(get(hObject,'Value')==get(hObject,'Max'))%被选中了,你想怎么样else%不被选中,你想怎么样end-----------------------------------------Check Boxes-------代码:if(get(hObject,'Value')==get(hObject,'Max'))%被选中了,你想怎么样else%不被选中,你想怎么样end------------------------------------------Edit Text-----------代码:function edit1_Callback(hObject,eventdata,handles)user_string = get(hObject,'String'); %就得到了所输入的字符%因为matlab是把所有的输入当作字符来看待,如果你是期望的到输入的数据的话,则:user_entry= str2double(get(hObject,'String')); 这里进行一个数据类型转换。
看函数名就知道了。
if isnan(user_entry) %nan就是not a number的简写。
知道这个函数意思了吧?errodlg('You must entry a number value','Bad Input','modal') %跳出一个对话框。
end%正确得到了数值,以下输入你的其他代码----------附: 'Bad Input'是指窗口样式,就像我们在操作系统下,经常会跳出一个黄色感叹号的对话框,或者一个红叉的对话框;modal是指窗口类型,就像一些程序跳出警告对话框,我们什么也不能做了,只能把那个对话框选择一个是或者不是,才能继续做其他事情。
这种对话框就是modal类型。
而通常的比如浏览器的界面,我们打开后,可以不管,然后打开别的对话框,这种就是非模态对话框。
默认在点击你的界面菜单栏或者界面上的其他组件后,这个edit text的callback都回被执行一遍,所以在你点确定按钮的时候,edit callback下读到的数据会更新的了,不用担心!---------------------------------------------------Sliders---------代码:function slider1_callback(hObject,eventdata,handles)slide_value=get(hObject,'Value');%获取滑块当前值%别的代码第八章结论----------附:它的Max Min 属性设置了滑竿的最大最小范围值。
---------------------------------------------------List Boxes-----------代码:function ........index = get(handles.listbox1,'Value'); %listbox1是你自己的那个控件的tag名字file_list =get(handles.listbox1,'String'); %得到了你的listBoxes的列表file_name = file_list{index};%得到了所选择的项目名,一下写自己的代码-------------------附:此 callback在鼠标在这个控件上松开或者特定的键盘按键松开(看你怎么设置它的别的属性的了)时候执行。
默认键盘上下键可以改变它的值同时执行一次callback。
而enter和space不改变它的值,只是执行callbackMax-Min 差值是0的话,表示只可以单选;1的话,表示可以多选。
这个可以在他的属性栏里设置----------------------------------------------------------Pop_up Menus--------------代码:function .......val=get(hObject,'Value')Switch valcase 1%case 2%defualt......end----------------------------------------------------Button Groups------------------代码:function .......switch get(hObject,'Tag');%注意这里的hObject和别的不同,并不是指这个BUtton Group,而是指在组里面,被选中的那个控件case 'radio button1' %按钮1的tag%。
case '按钮2的tag'%。
end----------Axes在坐标上画图附:所以在这里,如果要拿到button groups本身的话,就用handles.它的tag名中间一个点。
--------------------------------------------------Axes-------------它是用来画图的,可以说是一块画布。