精华内容
下载资源
问答
  • 2021-04-27 05:12:59

    MATLAB程序设计教程(11)——MATLAB图形用户界面设计

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

    11.1  菜单设计

    11.2  对话框设计

    11.3  图形用户界面设计工具

    11.1菜单设计

    11.1.1  建立用户菜单

    要建立用户菜单可用uimenu函数,因其调用方法不同,该函数可以用于建立一级菜单项和子菜单项。

    建立一级菜单项的函数调用格式为:

    一级菜单项句柄=uimenu(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)

    建立子菜单项的函数调用格式为:

    子菜单项句柄=uimenu(一级菜单项句柄,属性名1,属性值1,属性名2,属性值2,…)

    11.1.2  菜单对象常用属性

    菜单对象具有Children、Parent、Tag、Type、UserData、Visible等公共属性,除公共属性外,还有一些常用的特殊属性。

    例11-1  建立图11-1所示的图形演示系统菜单。菜单条中含有3个菜单项:Plot、Option和Quit。Plot中有Sine Wave和Cosine Wave两个子菜单项,分别控制在本图形窗口画出正弦和余弦曲线。Option菜单项的内容如图11-1所示,其中Grid on和Grid off控制给坐标轴加网格线,Box on和Box off控制给坐标轴加边框,而且这4项只有在画有曲线时才是可选的。Window Color控制图形窗口背景颜色。Quit控制是否退出系统。

    11.1.3  快捷菜单

    快捷菜单是用鼠标右键单击某对象时在屏幕上弹出的菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。在MATLAB中,可以使用uicontextmenu函数和图形对象的UIContextMenu属性来建立快捷菜单,具体步骤为:

    (1) 利用uicontextmenu函数建立快捷菜单。

    (2) 利用uimenu函数为快捷菜单建立菜单项。

    (3) 利用set函数将该快捷菜单和某图形对象联系起来。

    例11-2  绘制曲线y=2sin(5x)sinx,并建立一个与之相联系的快捷菜单,用以控制曲线的线型和曲线宽度。

    11.2对话框设计

    11.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)。

    11.2.2  对话框的设计

    1.建立控件对象

    MATLAB提供了用于建立控件对象的函数uicontrol,其调用格式为:

    对象句柄=uicontrol(图形窗口句柄,属性名1,属性值1,属性名2,属性值2,…)

    其中各个属性名及可取的值和前面介绍的uimenu函数相似,但也不尽相同,下面将介绍一些常用的属性。

    2.控件对象的属性

    MATLAB的10种控件对象使用相同的属性类型,但是这些属性对于不同类型的控件对象,其含义不尽相同。除Children、Parent、Tag、Type、UserData、Visible等公共属性外,还有一些常用的特殊属性。

    例11-3  建立如图11-10所示的数制转换对话框。在左边输入一个十进制整数和2~16之间的数,单击“转换”按钮能在右边得到十进制数所对应的2~16进制字符串,单击“退出”按钮退出对话框。

    例11-4  建立如图11-11所示的图形演示对话框。在编辑框输入绘图命令,当单击“绘图”按钮时,能在左边坐标轴绘制所对应的图形,弹出框提供色图控制,列表框提供坐标网格线和坐标边框控制。

    11.3图形用户界面设计工具

    MATLAB的用户界面设计工具共有6个,它们是:

    (1) 图形用户界面设计窗口:在窗口内创建、安排各种图形对象。

    (2) 菜单编辑器(Menu Editor):创建、设计、修改下拉式菜单和快捷菜单。

    (3) 对象属性查看器(Property Inspector):可查看每个对象的属性值,也可修改设置对象的属性值。

    (4) 位置调整工具(Alignment Tool):可利用该工具左右、上下对多个对象的位置进行调整。

    (5) 对象浏览器(Object Browser):可观察当前设计阶段的各个句柄图形对象。

    (6) Tab顺序编辑器(Tab Order Editor):通过该工具,设置当用户按下键盘上的Tab键时,对象被选中的先后顺序。

    11.3.1  图形用户界面设计窗口

    1.GUI设计模板

    在MATLAB主窗口中,选择File菜单中的New菜单项,再选择其中的GUI命令,就会显示图形用户界面的设计模板。

    MATLAB为GUI设计一共准备了4种模板,分别是Blank GUI(默认) 、GUI with Uicontrols(带控件对象的GUI模板) 、GUI with Axes and Menu(带坐标轴与菜单的GUI模板)与Modal Question Dialog(带模式问话对话框的GUI模板)。

    当用户选择不同的模板时,在GUI设计模板界面的右边就会显示出与该模板对应的GUI图形。

    2.GUI设计窗口

    在GUI设计模板中选中一个模板,然后单击OK按钮,就会显示GUI设计窗口。选择不同的GUI设计模式时,在GUI设计窗口中显示的结果是不一样的。

    GUI设计窗口由菜单栏、工具栏、控件工具栏以及图形对象设计区等部分组成。GUI设计窗口的菜单栏有File、Edit、View、Layout、Tools和Help 6个菜单项,使用其中的命令可以完成图形用户界面的设计操作。

    3.GUI设计窗口的基本操作

    在GUI设计窗口创建图形对象后,通过双击该对象,就会显示该对象的属性编辑器。例如,创建一个Push Button对象,并设计该对象的属性值。

    11.3.2  对象属性查看器

    利用对象属性查看器,可以查看每个对象的属性值,也可以修改、设置对象的属性值,从GUI设计窗口工具栏上选择Property Inspector命令按钮,或者选择View菜单下的Property Inspector子菜单,就可以打开对象属性查看器。另外,在MATLAB命令窗口的命令行上输入inspect,也可以看到对象属性查看器。

    在选中某个对象后,可以通过对象属性查看器,查看该对象的属性值,也可以方便地修改对象属性的属性值。

    11.3.3  菜单编辑器

    利用菜单编辑器,可以创建、设置、修改下拉式菜单和快捷菜单。从GUI设计窗口的工具栏上选择Menu Editor命令按钮,或者选择Tools菜单下的Menu Editor子菜单,就可以打开菜单编辑器。

    菜单编辑器左上角的第一个按钮用于创建一级菜单项。第二个按钮用于创建一级菜单的子菜单。

    菜单编辑器的左下角有两个按钮,选择第一个按钮,可以创建下拉式菜单。选择第二个按钮,可以创建Context Menu菜单。选择它后,菜单编辑器左上角的第三个按钮就会变成可用,单击它就可以创建Context Menu主菜单。在选中已经创建的Context Menu主菜单后,可以单击第二个按钮创建选中的Context Menu主菜单的子菜单。与下拉式菜单一样,选中创建的某个Context Menu菜单,菜单编辑器的右边就会显示该菜单的有关属性,可以在这里设置、修改菜单的属性。

    菜单编辑器左上角的第四个与第五个按钮用于对选中的菜单进行左移与右移,第六与第七个按钮用于对选中的菜单进行上移与下移,最右边的按钮用于删除选中的菜单。

    11.3.4  位置调整工具

    利用位置调整工具,可以对GUI对象设计区内的多个对象的位置进行调整。从GUI设计窗口的工具栏上选择Align Objects命令按钮,或者选择Tools菜单下的Align Objects菜单项,就可以打开对象位置调整器。

    对象位置调整器中的第一栏是垂直方向的位置调整。。

    对象位置调整器中的第二栏是水平方向的位置调整。。

    在选中多个对象后,可以方便的通过对象位置调整器调整对象间的对齐方式和距离。

    11.3.5  对象浏览器

    利用对象浏览器,可以查看当前设计阶段的各个句柄图形对象。从GUI设计窗口的工具栏上选择Object Browser命令按钮,或者选择View菜单下的Object Browser子菜单,就可以打开对象浏览器。例如,在对象设计区内创建了3个对象,它们分别是Edit Text、Push Button、ListBox对象,此时单击Object Browser按钮,可以看到对象浏览器。

    在对象浏览器中,可以看到已经创建的3个对象以及图形窗口对象figure。用鼠标双击图中的任何一个对象,可以进入对象的属性查看器界面。

    11.3.6  Tab顺序编辑器

    利用Tab顺序编辑器(Tab Order Editor),可以设置用户按键盘上的Tab键时,对象被选中的先后顺序。选择Tools菜单下的Tab Order Editor菜单项,就可以打开Tab顺序编辑器。例如,若在GUI设计窗口中创建了3个对象,与它们相对应的Tab顺序编辑器。

    例11-5  利用GUI设计工具设计图11-23所示的用户界面。该界面包括一个用于显示图形的轴对象,显示的图形包括表面图、网格图或等高线图。绘制图形的功能通过3个命令按钮来实现,用户通过单击相应的按钮,即可绘制相应图形。绘制图形所需要的数据通过一个弹出框来选取。在弹出框中包括3个选项,分别对应MATLAB的数据函数peaks、membrane和用户自定义的绘图数据sinc,用户可以通过选择相应的选项来载入相应的绘图数据。在图形窗口缺省的菜单条上添加一个菜单项Select,Select下又有两个子菜单项Yellow和Red,选中Yellow项时,图形窗口将变成黄色,选中Red项时,图形窗口将变成红色。

    喜欢 (0)or分享 (0)

    更多相关内容
  • matlab界面设计

    2013-09-04 21:00:50
    matlab 界面设计 文字的输出 时间的设定 动态变化字
  • Matlab界面设计

    2013-01-18 16:59:21
    matlab界面设计教程,可以利用代码设计可视化的matlab窗口
  • RLC串并联稳态电路的MATLAB界面设计.pdf
  • MATLAB GUI界面设计

    2018-08-17 22:31:31
    MATLAB GUI界面设计,简单易懂,GUI设计比较好,建议学习。
  • MATLAB界面设计

    2010-06-14 17:36:56
    有关界面设计和菜单的设计的几个例子,以及怎么调用函数道界面中去的代码。可以参考。
  • Matlab 界面设计简单入门(App Designer)

    千次阅读 多人点赞 2020-10-20 14:41:23
    新版Matlab交互界面基本操作 注意:本教程仅适用于2016b以后版本,建议安装2019b以后最新版本Matlab 与原来的GUIDE不同,新版的App Designer程序编写更加合理,更加好看,总的来说非常好用。如果之前没有学过GUIDE...

    新版Matlab交互界面基本操作

    注意:本教程仅适用于2016b以后版本,建议安装2019b以后最新版本Matlab

    与原来的GUIDE不同,新版的App Designer程序编写更加合理,更加好看,总的来说非常好用。如果之前没有学过GUIDE那么直接上手新版交互界面是一个很好的选择,毕竟历史不开倒车嘛。
    但是,目前App Designer毕竟用的人比较少,兼容性要差一点(你写的程序别人打不开,需要装RunTime才可以运行),相对GUIDE来说教程也比较少。

    新建app工程

    在这里插入图片描述
    在这里插入图片描述

    设计前的工作

    先对整体界面进行一个布局。左边是工具栏,右边选中后用来调整控件的外观,颜色等。
    在这里插入图片描述
    先拖入一个网络布局,如果觉得麻烦可以不拖,这一步是为了整齐好看。
    在这里插入图片描述

    拖入控件

    分别拖入一个面板,绘图,滑块,仪表,如下图所示
    期望实现功能是,通过滑动滑块来实时显示数值并绘图sin(5*滑块值)。
    在这里插入图片描述
    首先在滑块上右键,选择添加一个回调(一般只有输入会有回调,显示的控件不具有回调功能),这里我添加过了所以会变为转至。

    在这里插入图片描述
    在这里插入图片描述
    给回调添加程序,编写思路,(app.控件名称.值)=回调值(输入值)。当然还可以调整其他参数,这个是同理(app.控件名称.参数)。changingValue属于实时变化的一种回调,普通的回调就是Value,只有当滑块拖动完毕以后才会返回值,看自己需要哪一种。

                app.NumEditField.Value=changingValue;
                app.Gauge.Value=changingValue;
                x=0:0.01:(changingValue/180)*pi;
                y=sin(5*x);
                plot(app.UIAxes,x,y,'-r');
    

    使用效果

    在这里插入图片描述

    简单入门,这个感觉还挺好玩的,比GUIDE好用很多,后面还会写一写,包括调用app子函数,外部函数,如何导入外部数据,app启动初始化等,最近比较忙,写的少了。

    Copyright © 2020 by RichardYang. All rights reserved.
    仅供参考,严禁转载,感谢。

    展开全文
  • Matlab 界面设计FFT

    2013-08-31 10:50:27
    Matlab 界面设计 使用此文件进行FFT界面的开发
  • 该项目基于matlab语言实现,带UI界面和测试数据图片及代码,在matlab2014a上亲测可以直接运行。主要运用数字图像处理的相关知识,滤波、去噪、分割等技术。适用于数字图像处理学习者、matlab研究者、计算机视觉入门...
  • 我所使用的MATLAB版本——MATLAB R2017a MATLAB的GUI的操作其他人写的很清楚了,在此不再赘述。 MATLAB的GUI的基本操作可见:GUI基本操作 这次所设计的钢琴有简单的七个琴键,DO RE MI FA SO LA XI 首先在命令行中...
  • Matlab GUI登录界面设计

    2019-05-07 16:18:21
    Matlab GUI登录界面设计!欢迎下载!
  • 程序设计MATLAB程序设计教程电子教案2660-第11章 MATLAB图形用户界面设计.ppt :handshake
  • 包括多种滤波器设计,可设置不同参数
  • 支持图像的打开,保存、添加各类噪声、图片的旋转,图像类型的转换,图像形态学处理、直方图均衡化以及灰度直方图的显示。
  • Matlab可视化界面设计与控件使用-Matlab可视化界面设计与控件使用.pdf Matlab可视化界面设计与控件使用
  • Matlab中,所有的图形操作都是针对图形...图形对象是用于显示图形和用户界面的基本要素。 1、图形对象的句柄 (1)句柄的概念 在Matlab中,用句柄来标识对象,通过句柄来访问相应对象的属性。 %绘制多个图...

     在Matlab中,所有的图形操作都是针对图形对象而言的,如坐标轴、曲线、曲面、文本等

    每个对象在创建时,就被赋予唯一的标识,这种标识就是该图形对象的句柄

    以后可以通过句柄访问该图形对象的属性

    关于对象精辟介绍:Matlab的图形系统是面向图形对象的,对象是用来描述客观事物的实体,是构成系统的基本单位。图形对象是用于显示图形和用户界面的基本要素。

    一、图形窗口与坐标轴

    1、图形对象的句柄

     (1)句柄的概念

            在Matlab中,用句柄来标识对象,通过句柄来访问相应对象的属性

    
    %绘制多个图形,并保存图形句柄
    clear
    clc
    t = 0:pi/10:2*pi;
    h1 = plot3(t+pi,t-2*pi,sin(t),'r'); %h1 是曲线的句柄
    hold on;
    [x,y] = meshgrid(t);
    z = sin(x);
    h2 = mesh(t-2*pi,t+pi,z);   %h2 是曲面的句柄
    [x3,y3,z3] =cylinder(t);
    h3 = surf(x3,y3,z3);    %h3 是圆锥的句柄

    (2)访问图形对象 

            对象句柄.属性名

    %绘制图形,并访问图形对象
    x = 0:pi/10:2*pi;
    y = sin(x);
    h0 = plot(x,y);
    grid on;
    h0.Color
    h0.LineWidth = 2;
    h0.LineStyle = '-.';

    (3)获取特定图形对象句柄的函数

    gcf:获取当前图形窗口的句柄。

    gca:获取当前坐标轴的句柄。

    gco:获取最近被选中的图形对象的句柄。

    findobj:按照指定的属性来获取图形对象的句柄。

    2、图形对象的属性

    (1)图形对象的常用公共属性

    Children属性:该对象的所有子对象的句柄组成的一个向量。

    Parent属性:该对象的父对象的句柄。

    Type属性:对象的类型,这是一个只读属性。

    Tag属性:用于给对象定义一个标识符。

    clear
    clc
    %图一绘制螺旋线
    subplot(1,2,1); 
    h1 = fplot(@(t)t.*sin(t),@(t)t.*cos(t),[0,6*pi]);   %句柄h1,表示曲线
    axis equal;
    %图二绘制山峰图
    subplot(1,2,2);
    [x,y,z] = peaks(20);
    h2 = mesh(x,y,z);   %句柄h2,表示曲面
    % h10 = h1.Parent;
    % h10.Color = 'y';
    % h1.Color = 'r';
    % h2.Parent.Color = 'cyan';
    
    h1.Color = 'g';
    h1.Parent.Color = 'y';
    h2.Parent.Color = 'cyan';
    

    (2)图形对象的常用动态属性

    KeyPressFcn属性:定义按下键盘按键事件的响应。

    CreatFcn属性:定义创建图形对象时做出的响应。

    DeleteFcn属性:定义取消图形对象时做出的响应。

    WindowButtonDownFcn或ButtonDownFcn属性:定义单击鼠标左键事件的响应。 

    3、图形窗口的操作

    (1)建立图形窗口对象

    使用figure函数,其调用格式为:

    句柄变量=figure(属性1,属性值1,属性2,属性值2,...)其中,属性用于设置图形窗口的特征。

    句柄变量=figure

    figure(窗口句柄)

    (2)图形窗口属性

    MenuBar属性:控制图形窗口是否具有菜单条,其取值为‘none’或‘figure’。

    Name属性:指定图形窗口的标题。

    Number Title属性:决定着在图形窗口的标题中是否以 “Figure n:”为标题前缀。

    Color属性:设定图形窗口背景的颜色。

    Position属性:定义了图形窗口对象在屏幕上的位置和大小,值是一个4元行向量[x,y,w,h]。

    Units属性:定义图形窗口使用的长度单位。

    %建立一个图形窗口
    hf = figure;    %按默认属性建立一个图形窗口
    hf.Color = [0,1,1];     %设置背景色
    hf.Position = [500,500,300,150];    %设置屏幕位于左下角,宽度和高度分别为300像素点和150像素点
    hf.Name = '图形窗口示例';     %设置标题
    hf.NumberTitle = 'off';     %设置标题不显示前缀
    hf.MenuBar = 'none';        %设置图形窗口没有菜单条
    hf.ButtonDownFcn = 'gtext("Hello,World!")';  %单击左键显示文本“Hello World!”
    hf.KeyPressFcn = 'gtext("Sun!")';   %按键盘任意建,显示Sun!
    

    4、坐标轴对象的操作

    坐标轴对象时图形对象的父对象,即当作图形对象的容器。

    (1)建立坐标轴对象

    使用axes函数,其调用格式为:

    句柄变量 = axes(属性1,属性值1,属性2,属性值2,...)         其中,属性用于设置坐标轴的特征。

    句柄变量 = axes

    axes(坐标轴句柄)

    %利用坐标轴实现图形窗口的分割
    ha1 = axes('Position',[0.1,0.1,0.7,0.7]);
    contour(peaks(20)); %等高线图
    ha1.Title = title('等高线');
    ha1.YLabel = ylabel('南北向');
    ha1.XLabel = xlabel('东西向');
    ha2 = axes('Position',[0.65,0.7,0.28,0.28]);
    surf(peaks(20));    %峰图
    ha2.View=[-30,45];  %设置当前坐标轴的视点位置。
    

    (2)坐标轴对象的属性

    %利用坐标轴实现图形窗口的分割
    ha1 = axes('Position',[0.1,0.1,0.7,0.7]);
    contour(peaks(20)); %等高线图
    ha1.Title = title('等高线');
    ha1.YLabel = ylabel('南北向');
    ha1.XLabel = xlabel('东西向');
    ha2 = axes('Position',[0.65,0.7,0.28,0.28]);
    surf(peaks(20));    %峰图
    ha2.View=[-30,45];  %设置当前坐标轴的视点位置。
    

    二、曲线与曲面对象

    1、曲线对象

     line函数的调用格式为:

            句柄变量=line(x,y,z,属性1,属性值1,属性2,属性值2,...)

    其中,x、y、z在存储数据点的坐标,与plot、plot3函数含义相同。(与plot不同的是:line()函数不会覆盖原图形显示界面,会在原来图形的基础上叠加图形)

     

    2、曲面对象

     surfacei函数的调用格式为:

            句柄变量= surface(x,y,z,c,属性1,属性值1,属性2,属性值2,...)

    其中,x、y、z存储数据点的坐标,与surf函数含义相同;c用于指定在不同高度下的曲面颜色。

    %绘制立体圆环
    r = linspace(0,2*pi,60);
    [u,v] = meshgrid(r);
    x = (8 + 3*cos(v)).*cos(u);
    y = (8 + 3*cos(v)).*sin(u);
    z = 3*sin(v);
    
    % surf(x,y,z);
    
    axes('view',[-37.5,30])     %设置视点
    hs = surface(x,y,z);    %调用surface()按默认属性绘制曲面
    axis equal;
    
    %让曲面的颜色过度看起来更加平滑
    hs.EdgeColor = 'none';
    hs.FaceColor = 'interp';
    
    

    3、光照处理

     (1)创建光源对象

            light函数的调用格式为:

                    对象句柄 = light(属性1,属性值1,属性2,属性值2,...)

    其中,属性指定光源的特性。

    (2)光源对象的属性

     (3)设置光照模式

    lighting命令格式为:

            lighting 选项

    其中,选项可取值为:flat、gouraud、phong、none。

    %绘制光照处理后的圆环面,并观察不同光照模式下的效果
    r=linspace(0,2*pi,60); [u,v]=meshgrid(r);
    x=(8+3*cos(v)).*cos(u); y=(8+3*cos(v)).*sin(u); z=3*sin(v);
    %绘制圆环
    axes('Position',[0.05,0.675,1.0,0.3],  'View',[-37.5,30]);
    hs1=surface(x,y,z); axis equal;
    hs1.EdgeColor='none';  hs1.FaceColor='interp';
    %绘制圆环 
    axes('Position',[0.05,0.35,1.0,0.3],  'View',[-37.5,30]);
    hs2=surface(x,y,z); axis equal;
    hs2.EdgeColor='none';  hs2.FaceColor='interp';
    %光照处理
    light('Position',[0,0,8])
    lighting  flat
    %绘制圆环
    axes('Position',[0.05,0.025,1.0,0.3],  'View',[-37.5,30]);
    hs3=surface(x,y,z); axis equal;
    hs3.EdgeColor='none';  hs3.FaceColor='interp';
    %光照处理
    light('Position',[0,0,8])
    lighting  phong

    4、图形对象的反射特征

     

    %绘制具有不同反射特性的圆环面并观察反射特性对图形效果的影响
    r=linspace(0,2*pi,60);  [u,v]=meshgrid(r);
    x=(8+3*cos(v)).*cos(u); y=(8+3*cos(v)).*sin(u); z=3*sin(v);
    %第一个圆环
    axes('Position',[0.05,0.675,1.0,0.3],'View',[-37.5,30]);
    hs1=surface(x,y,z);axis equal;
    hs1.EdgeColor='none';hs1.FaceColor='interp';
    light('Position',[0,0,8]) ;lighting  phong
    hs1.SpecularStrength=0.1;%反射参数设置
    %第二个圆环
    axes('Position', [0.05,0.35,1.0,0.3],'View',[-37.5,30]);
    hs2=surface(x,y,z);axis equal;
    hs2.EdgeColor='none';hs2.FaceColor='interp';
    light('Position',[0,0,8]) ;lighting  phong
    hs2.SpecularStrength=0.5;%反射参数设置
    %第三个圆环
    axes('Position', [0.05,0.025,1.0,0.3],'View',[-37.5,30]);
    hs3=surface(x,y,z);axis equal;
    hs3.EdgeColor='none';hs3.FaceColor='interp';
    light('Position',[0,0,8]) ;lighting  phong ;

    三、图形用户界面设计方法

    图形用户界面:用户与计算机进行信息交流的窗口。

    设计图形用户界面的方法

            调用建立用户界面控件的函数、使用MATLAB提供的GUIDE工具进行可视化设计。

    1、控件对象及其操作

    (1)常用控件

    输入和输出类控件:编辑框、静态文本、列表框、滑动条等。

    实施确认、选择操作类控件:按钮、双位按钮、单选按钮、复选框等。

    (2)建立控件对象

    uicontrol函数用于建立控件对象,其调用格式为:

            句柄变量 = uncontrol(图形窗口句柄,属性1,属性值1,属性2,属性值2,…)

    其中,属性及其取值决定了控件的特征。若省略图形窗口句柄,默认在当前图形窗口建立控件对象。

    (3) 控件对象的基本控制属性

     回调函数的定义格式:

            function 函数名(source, eventdata)

                    ...

            end

    参数source是发生事件的源控件对象句柄,eventdata存储事件数据

    2、建立菜单对象

    (1)uimenu函数

    uimenu函数用于创建、设置、修改菜单,其调用格式为:

    一级菜单项句柄 = uimenu(图形窗口句柄,属性1,属性值1,属性2,属性值2,....)

    子菜单项句柄 = uimenu(上级菜单项句柄,属性1,属性值1,属性2,属性值2,...)

    (2)菜单属性

    Label属性:用于定义菜单项的名字。

    Accelertor属性:用于定义菜单项的快捷键。

    Checked属性:指示菜单项是否已选中。

    Enable属性:控制菜单项的可选择性。

    Separator属性:用于在菜单中添加分隔线。

    
    %{
     在例1的界面中添加“图形选项”菜单项,其中包括一个二级菜单项“线型”,
    其下又有3个子菜单项,分别为“实线”、“虚线”、“双划线”。
    %}
    
    hopt=uimenu(gcf,'Label','图形选项','Accelerator','L');
    hLStyle=uimenu(hopt,'Label','线型','Tag','LStyle', 'Enable','off');
    hL_Solid=uimenu(hLStyle,'Label','实线',...
        'Tag','Solid','Callback', @MLine_Type);
    hL_Dotted=uimenu(hLStyle,'Label','虚线',...
        'Tag','Dotted','Callback', @MLine_Type);
    hL_Dashed=uimenu(hLStyle,'Label','双划线',...
        'Tag','Dashed','Callback', @MLine_Type);
    

     

    %例2,回调函数,由例1修改而来
    % plot_sin.m文件
    
    function plot_sin(source, callbackdata)
        t=-pi:pi/20:pi;
        plot(t,sin(t));
        h1=findobj('Tag','LStyle');
        h1.Enable='On';    %使得 “线型”菜单项可用
    end
    
    
    
    % Mline_Type.m函数文件
    
    function MLine_Type(source,callbackdata)
        hline=findobj('Type','line');
        if strcmp(source.Tag,'Solid' )==1
            hline.LineStyle='-';
        elseif strcmp(source.Tag,'Dotted' )==1
            hline.LineStyle=':';  
        elseif strcmp(source.Tag,'Dashed' )==1
            hline.LineStyle='--';   
        end
    end

    四、用户界面设计工具

    即将淘汰的用户界面编辑工具

    五、APP设计工具

    六、图形用户界面应用举例

     

     

    展开全文
  • MATLAB GUI设计教程

    2015-12-14 20:41:22
    MATLAB GUI 基础教程.zip
  • 软件界面上能显示课程设计题目、四则运算控制按钮、两组输入控件、一组输出控件,可实现连续运算,可实现单个元素的运算,也可实现一组数据的运算,可显视运算成功或运算错误提示。
  • MATLAB实现linear;pchip;spline三种不同插值方法的GUI界面设计
  • 基于MATLAB GUI 界面设计解线性方程组matlab基于MATLAB GUI 界面设计解线性方程组matlab
  • matlab界面设计

    2010-12-20 16:17:37
    适合于学习matalb的编程者,可以直接使用并参考学习,主要是关于Matlab各种界面设计的程序,包含33个实用界面设计程序。
  • 适合一般大学在校生
  • matlabGUI界面编程示例

    2012-08-03 15:26:36
    matlab GUI 界面编程示例 (CS实验平台)
  • MATLAB用户界面设计-8用户界面设计.ppt 很有用,欢迎分享:P
  • Matlab界面设计入门

    千次阅读 2015-09-03 16:41:31
    % eventdata reserved - to be defined in a future version of MATLAB % handles structure with handles and user data (see GUIDATA) % Hints: contents = cellstr(get(hObject,'String')) returns ppm ...

    1.文本编辑框+按钮
    数据传递
    pushbutton的callback代码:

    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)
    str=get(handles.edit1,'String');
    set(handles.edit2,'String',str);
    

    2.滚动条显示值
    滚动条同步显示
    滚动条后台callback代码(实践由滚动条产生触发):

    function slider1_Callback(hObject, eventdata, handles)
    % hObject    handle to slider1 (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,'Value') returns position of slider
    %        get(hObject,'Min') and get(hObject,'Max') to determine range of slider
    var=get(handles.slider1,'value');%value 属性哦
    set(handles.edit1,'String',num2str(var));

    3.单选框+复选框+togglebutton简单示例
    切换现实上下限的值
    三个控件的后台callback:

    function rb_Callback(hObject, eventdata, handles)
    % hObject    handle to rb (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Hint: get(hObject,'Value') returns toggle state of rb
    var=get(handles.rb,'value');
    set(handles.edit1,'string',num2str(var));
    % --- Executes on button press in ck.
    function ck_Callback(hObject, eventdata, handles)
    % hObject    handle to ck (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    var=get(handles.ck,'value');
    set(handles.edit2,'string',num2str(var));
    % Hint: get(hObject,'Value') returns toggle state of ck
    
    
    % --- Executes on button press in tb.
    function tb_Callback(hObject, eventdata, handles)
    % hObject    handle to tb (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Hint: get(hObject,'Value') returns toggle state of tb
    var=get(handles.tb,'value');
    set(handles.edit3,'string',num2str(var));

    4.选择描绘不同三角函数曲线
    buttonGroup的使用
    将三个radio button放在一个button group中。
    buttonGroup的后台SelectionChangeFcn:

    function uipanel1_SelectionChangeFcn(hObject, eventdata, handles)
    % hObject    handle to the selected object in uipanel1 
    % eventdata  structure with the following fields (see UIBUTTONGROUP)
    %   EventName: string 'SelectionChanged' (read only)
    %   OldValue: handle of the previously selected object or empty if none was selected
    %   NewValue: handle of the currently selected object
    % handles    structure with handles and user data (see GUIDATA)
    x=0:0.01:2*pi;%x轴的范围0-2pi
    current_Obj=get(eventdata.NewValue,'Tag');
    axes(handles.axes1);
    switch current_Obj
        case 'rb1'
          y=sin(x);
          plot(x,y);
        case 'rb2'
            y=cos(x);
            plot(x,y);
        case 'rb3'
            y=sin(x)+cos(x);
            plot(x,y);
    
    
    end

    5.下拉选择功能菜单
    下拉框选择函数功能
    pop up menu的callback代码:

    function ppm_Callback(hObject, eventdata, handles)
    % hObject    handle to ppm (see GCBO)
    % eventdata  reserved - to be defined in a future version of MATLAB
    % handles    structure with handles and user data (see GUIDATA)
    
    % Hints: contents = cellstr(get(hObject,'String')) returns ppm contents as cell array
    %        contents{get(hObject,'Value')} returns selected item from ppm
    var=get(handles.ppm,'value');
    x=0:0.01:2*pi;
    axes(handles.axes1);
    switch var
        case 1
            y=sin(x);
            plot(x,y);
        case 2
            y=cos(x);
            plot(x,y);
        case 3
            y=sin(x)+cos(x);
            plot(x,y);
    end
    
    展开全文
  • Matlab GUI界面设计

    万次阅读 多人点赞 2017-01-24 07:44:48
    摘要:本篇博文基于MATLAB2014a进行GUI设计
  • matlab中GUI界面的一些设计与操作

    千次阅读 2022-02-21 14:39:41
    matlab中GUI界面的一些设计与操作
  • MATLAB实现不同插值方法的GUI界面设计 源程序代码.rar MATLAB实现偏微分方程的差分计算 源程序代码.rar MATLAB实现图像去噪 滤波 锐化 边缘检测.rar MATLAB实现学生成绩查询系统 源代码程序.rar MATLAB实现灰度预测...
  • 一个可发布的应用程序通常都需要具备一个友好的图形界面(比如,我们开课时或给学生上课而使用课件时,我们一般就...MATLAB可视化界面设计, 一般有两种方法,一是直接通过编辑M脚本文件产生GUI(这个方法就是我们在前...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,482
精华内容 7,792
关键字:

matlab界面设计

matlab 订阅