精华内容
下载资源
问答
  • MATLAB图形用户界面设计(GUI)
    千次阅读
    2021-03-31 13:58:09

    图形用户界面(Graphical User Interface,GUI) 是指由窗口、菜单、光标、按键、对话框和文本等各种图形对象组成的用户界面,用来定制用户与Matlab 的交互方式(命令窗口不是用户唯一与Matlab 的交互方式)。使用图形用户界面,用户可以方便地通过鼠标等输入设备与程序进行信息交换,控制程序运行。

    在matlab 中,基本的图形用户界面对象包含3 类:
    1. 用户界面控件对象( uicontrol) )
    2.下拉式菜单对象( uimenu )
    3.快捷菜单对象( uicontextmenu

    MATLAB 提供了两种创建图形用户界面的方法: 编程创建 GUI 的方法 和通过 GUI 向导 创建的方法。用户可以根据需要,选择适当的方法创建图形用户接口。
    GUI 向导 即 GUIDE ,Graphical User Interface development environment ,包含了大量创建 GUI 的工具,这些工具简化了创建 GUI 的过程。通过向导创建 GUI 直观、简单,便于用户快速开始 GUI 创建。

    菜单设计

    Matlab 用户菜单对象是图形窗口的子对象,所以菜单设计总在某一个图形窗口中进行。Matlab 的图形窗口有自己的菜单栏,为了建立用户自己的菜单系统, 可以先将图形窗口的menubar属性设置为none ,以取消图形窗口默认的菜单,然后再建立用户自己的菜单。
    取消默认菜单:figure(‘menubar’,‘none’)

    建立用户菜单

    用户菜单通常包括一级菜单( 菜单条) 和二级菜单,有时还需要继续建立下级菜单如三级菜单等。而每一级菜单又包括若干菜单项。
    要建立用户菜单可用uimenu 函数,该函数可以用于建立一级菜单项和子菜单项。根据不同的调用格式可以创建一级菜单项和子菜单项。

    建立一级菜单函数调用格式:一级菜单项句柄=uimenu( 图形窗口句柄 ,属性名
    1 ,属性值1 ,属性名2 ,属性值2 ,…)
    建立子菜单项函数调用格式:子菜单项句柄=uimenu( 一级菜单项句柄 ,属性名
    1 ,属性值1 ,属性名2 ,属性值2 ,…)

    菜单对象常用属性

    菜单对象具有 Children 、 Parent 、 Tag 、 Type 、UserData 、 Visible 等公共属性。
    (1) Children 属性。该属性的取值是该对象所有子对象的句柄组成的一个向量。
    (2) Color 属性。该属性的取值是一个颜色值,既可以用字符表示,也可以用 RGB 三元组表示。
    (3) Parent 属性。该属性的取值是该对象的父对象的句柄。
    (4) Tag 属性。该属性的取值是一个字符串,它相当于给该对象定义了一个标签。定义了 Tag 属性后,在任何程序中都可以通过 findobj 函数获取该标签所对应图形对象的句柄。例如, hf =findobj(0,‘Tag’,‘Flag1’) 将在屏幕对象及其子对象中寻找Tag 属性为 Flag1 的对象,并返回句柄。
    (5) Type 属性。表示该对象的类型,该属性的值是只读的。
    (6 ) UserData 属性。该属性的取值是一个矩阵,默认值为空矩阵。在程序设计中,可以将一个与图形对象有关的比较重要的数据存储在这个属性中,借此可以
    达到传递数据的目的。具体做法是,先用 set 函数给某一句柄添加一些附加数据(一个矩阵),如果想使用这样的矩阵,再用 get 函数调用出来。
    (7 ) Visible 属性。该属性的取值是 on (默认值)或off,决定着图形对象是否在图形窗口中显示出来。

    快捷菜单

    快捷菜单是用鼠标右键单击某对象时在屏幕上弹出的菜单。这种菜单出现的位置是不固定的,而且总是和某个图形对象相联系。在MATLAB 中,可以使用
    uicontextmenu函 函 数建 立快捷菜单,具体步骤为:
    (1) 利用uicontextmenu 函数建立快捷菜单。
    (2) 利用uimenu 函数为快捷菜单建立菜单项。
    (3) 利用set函数将该快捷菜单和某图形对象联系起来。

    更多相关内容
  • 第 11 章 MATLAB 图形用户界面设计 习题 11 一选择题 控件的 BackgroundColor 属性和 ForegroundColor属性分别代表 D A前景色和背景色 B前景色和说明文字的颜色 C说明文字的颜色和背景色 D背景色和说明文字的颜色 ...
  • MATLAB图形用户界面设计
  • 实验六MATLAB图形用户界面设计(3学时)1 实验的目的及意义:(1)熟悉MATLAB图形用户界面开发环境。(2)掌握MATLAB中图形用户界面程序设计方法。2 实验步骤:上机调试①设计如下图所示的简单四则运算计算器。1) 在GUI...

    实验六MATLAB图形用户界面设计(3学时)

    1 实验的目的及意义:

    (1)熟悉MATLAB图形用户界面开发环境。

    (2)掌握MATLAB中图形用户界面程序设计方法。

    2 实验步骤:

    上机调试

    ①设计如下图所示的简单四则运算计算器。

    f2e69185d7cd9ce044fd94c9ba1dcda2.png

    1) 在GUI设计窗口中放置16个Pushbutton控件,将其Tag和String属性分

    别设置为:

    Pushbutton1,1

    Pushbutton2,2

    ……

    Pushbutton9,9

    Pushbutton10,0

    Pushbutton_CLR,CLR

    Pushbutton_EQU,=

    Pushbutton_ADD,+

    Pushbutton_SUB,-

    Pushbutton_MUL,×

    Pushbutton_DIV,÷

    2) 在GUI设计窗口中放置2个Statictext控件,将其Tag和String属性分别设置为:

    Text1,计算器

    Text_ANS,0

    再将Text_ANS控件的Backgroundcolor属性设置为白色;HorizontalAlignment属性设置为Left(水平左对齐)。

    展开全文
  • 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编程的简易计算器程序
  • 本人收集的MATLAB基础教程-第11章 MATLAB图形用户界面设计.ppt 第13章 在Word环境下使用MATLAB.ppt 第12章 Simulink动态仿真集成环境.ppt 第11章 MATLAB...
  • 零散MATLAB资料分享-在MATLAB图形用户界面设计中使用ActiveX控件.pdf 最近在用MATLAB做一个项目,自然需要查很多东西,在网上搜集了一点资料,并非原创。本着分享的精神,希望能帮助到部分人。 包括以下...
  • 表格在MATLAB图形用户界面设计中的应用.pdf
  • MATLAB图形用户界面设计中使用ActiveX控件.pdf
  • 第11章 MATLAB图形用户界面设计.ppt
  • 目录一、图形窗口与坐标轴 一、图形窗口与坐标轴 本节内容: 1、图像图形的句柄 举例: h1、h2、h3是句柄 来看图像对象访问的方法: h0是句柄 h0.Color是查看句柄所指的曲线的颜色(0 0.4470 0.7410是一个RGB值)...

    在这里插入图片描述

    一、图形窗口与坐标轴

    本节内容:
    在这里插入图片描述
    1、图像图形的句柄
    在这里插入图片描述
    举例:
    h1、h2、h3是句柄
    在这里插入图片描述
    来看图像对象访问的方法:
    h0是句柄
    h0.Color是查看句柄所指的曲线的颜色(0 0.4470 0.7410是一个RGB值)
    执行后两条语句之后,曲线变为粗点画线。
    在这里插入图片描述
    来看获取图形对象句柄的函数的方法:
    h1 = gcf表示把当前图形窗口的句柄保存在h1
    在这里插入图片描述
    好,来看图像对象的常用公共属性。
    注:下面的ha.Children是生成一个3*1的数组(向量),其中两个曲面,一条是线。
    在这里插入图片描述
    注:Tag属性是给图形一个标识符,以把图形进行归类,方便管理。
    在这里插入图片描述
    好,对图形对象的常用公共属性举例:
    h1是曲线的句柄,h2是曲面的句柄。
    下图中,上面两个图形是前六行绘制出的图形,后几行是改变图形属性绘制出下面图形。
    h10=h1.Parent意为获得曲线h1的父对象即坐标轴的句柄,h10.Color对坐标轴进行颜色改变为黄色,h1.Color是把第一个图形的曲线绘制为红色。
    cyan是天青色的意思。
    在这里插入图片描述
    前面说的都是图形对象的静态属性,接下来看图形对象的动态属性
    在这里插入图片描述
    图形窗口的操作:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    看一个例子:
    第一条命令按默认属性建一个图形窗口
    第二条命令设置背景色为天青色
    第三条命令设置窗口位置和像素大小
    第五条命令设置窗口名称前不加前缀
    第六条命令设置图形窗口没有菜单条
    第七条命令为在图形窗口单击鼠标左键时显示“Hallo World!”
    在这里插入图片描述
    再看坐标轴对象,坐标轴对象是图形对象的父对象(即图形对象的容器)。
    在这里插入图片描述
    坐标轴对象的属性
    在这里插入图片描述
    在这里插入图片描述
    例:
    第一条命令为建立一个坐标轴,大小为窗口的70%。
    contour()绘制等高线图
    三四五命令设置坐标轴的标题和x、y轴的标签
    第六个命令在图形的右上角建立一个较小的坐标轴
    第七个命令绘制尖峰三维图
    第八个命令设置当前坐标轴视点位置
    在这里插入图片描述
    接着看坐标轴对象的属性
    gca获取当前坐标轴的属性
    在这里插入图片描述
    注:我们绘制的曲线循环使上图的n(默认为7)种颜色
    例:
    第五行命令是绘制六条曲线,因为第三行定义了4种颜色,因此所得的六条曲线依次循环使用这四种颜色。
    在这里插入图片描述

    二、曲线与曲面对象

    本节内容:
    在这里插入图片描述
    建立曲线对象 - line()函数
    注:其有一个和plot()、plot3()函数不一样的特征是,连续调用多个line()时,原有图像不会消失。
    在这里插入图片描述
    曲线对象的常用属性:
    在这里插入图片描述
    例:
    在这里插入图片描述
    建立曲面对象 - surface()函数
    注意:surface()函数每调用一次就会刷新一次坐标轴(即只显示新曲面而关闭就曲面图)。
    在这里插入图片描述
    与曲面形态相关的属性:
    注:EdgeColor属性的取值与FaceColor一样,这里省略没写。
    在这里插入图片描述
    例:
    第6条命令设置视点位置
    第9条命令设置图形无网格线
    第10条命令设置曲面网格用插值填充,使得网格间的颜色渐变更平滑。
    在这里插入图片描述
    光照处理
    light()函数
    在这里插入图片描述
    光源对象的属性
    在这里插入图片描述
    设置光照模式
    lighting命令
    在这里插入图片描述
    例:
    前两行是按例2给出的圆环公式计算曲面的各坐标
    第3行是建立子图1的坐标轴,并设置方位角
    第4行是绘制曲面
    第五行无网格线,插值填充。
    以上语句为设置子图1
    下面两个子图使用了light命令,即设置光源位置在图形的正上方(你可以看到阴影吧)
    中间的子图使用了lighting flat命令使得图形表面呈现网格化。
    下面的子图使用了lighting phong命令使得图形表面光滑。
    在这里插入图片描述
    图形对象的反射特性
    在这里插入图片描述
    例:
    三个子图的hs.1.SpecularStrength的值不一样,导致表面的光泽不一样,可以看出第一个子图最暗。
    在这里插入图片描述

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

    本节内容:
    在这里插入图片描述
    图形用户界面的组成
    在这里插入图片描述
    控件对象及其操作
    常用控件
    在这里插入图片描述
    建立控件对象
    uicontrol()
    在这里插入图片描述
    控制对象的基本控制属性
    注:Position中的x、y参数为对象左下角的横纵坐标值,w、h为对象的宽度和高度。
    tag在MATLAB GUIDE设计中,是每个对象(如某个按钮)的唯一身份证。
    在这里插入图片描述
    例:
    第一行命令设置坐标轴。
    第2 - 9行为建立三个按钮对象uicontrol的style、pushbutton指明该控件对象为按钮;string、网格指明按钮上的文字;Position指明按钮在当前窗口位置;
    Callback、grid显示或隐藏坐标轴网格,Callback、cla清除坐标轴的图形,而绘图按钮的回调过程稍复杂,设置成回调函数,怎么添加回调函数呢?往下看。
    在这里插入图片描述
    看回调函数的定义格式:
    在这里插入图片描述
    在上面未完成的例子中增加一条回调函数调用语句:
    在这里插入图片描述
    运行结果
    (注意注意,我这里只输入了前两行程序,只演示了网格显示/消失)
    在这里插入图片描述

    菜单对象
    在这里插入图片描述
    菜单属性
    在这里插入图片描述
    例:
    hopt是一级菜单项句柄。
    第二行命令,hLStyle是二级菜单项句柄,hopt是父对象句柄,Enable、off表示该菜单项不可用。
    第三行命令,hLStyle为父对象,并调用Mline_Type函数,这个Mline_Type怎么定义呢?往下看。
    后四行语句同样。
    在这里插入图片描述
    Mline_Type函数定义,以及在plot_sin中加入的语句:
    在这里插入图片描述
    运行例1,结果如下:
    上图在plot_sin中加入两条语句的作用是,你不点击“绘图”按钮时,菜单栏是无效的,只有你点击绘图按钮之后,菜单按钮Enable。
    在这里插入图片描述

    四、用户界面设计工具

    MATLAB有一个可视化用户界面设计工具 ——GUIDE,这节课我们来学习它
    这节课我们的任务是介绍GUIDE,并定义回调函数
    1、图形用户界面设计窗口
    在这里插入图片描述
    4中模板
    在这里插入图片描述
    在这里插入图片描述
    例:
    在这里插入图片描述
    注意:上面的这个窗口设计好后,点击保存会生成一个.fig文件,这时系统会同时自动生成一个.m文件,这个.m文件保存了图形窗口初始化函数和各控件的回调函数。

    GUIDE菜单项
    在这里插入图片描述
    菜单项中的对象属性检查器
    在这里插入图片描述
    例:
    在这里插入图片描述
    在这里插入图片描述
    看菜单属性
    标签为菜单上的文字
    回调,为单击该菜单项的响应
    在这里插入图片描述
    看一个例子:
    在这里插入图片描述
    对下面的这个描述有点复杂,你去看视频吧:
    https://www.icourse163.org/learn/CSU-1002475002?tid=1450231442#/learn/content?type=detail&id=1214375659&cid=1218036536
    在这里插入图片描述
    对象浏览器
    在这里插入图片描述
    回调属性与回调函数
    在这里插入图片描述
    对于复杂的事件,我们可以设置回调函数:
    (比如,你新建一个按钮,那系统就自动为这个按钮,在.m文件中增加了一个回调函数框架)
    在这里插入图片描述
    在这里插入图片描述
    举例:
    (我们赋予下图界面按钮功能,即你点一下就会有响应)
    选中按钮,打开Callback,在相应的函数(下面这个图是绘图按钮的)框架下加入下面的代码,然后就实现了绘图功能。
    在这里插入图片描述
    下面的代码分别是菜单栏中的实线和红色设置,你在菜单编辑器中查看回调函数,然后在回调函数中相应的加入下面的代码即可实现这两个选项的功能。
    在这里插入图片描述

    五、APP设计工具

    这里的APP即具有图形用户界面的MATLAB程序。
    我们使用APP Designer进行设计,其和DUIDE一样,是一个可视化设计环境,从而避免了你再去麻烦地使用一些函数。
    1、APP Designer的使用
    在这里插入图片描述
    在这里插入图片描述
    在组件浏览器打开相应的组件对调函数,就转会到代码区相应的回调函数区域,然后你就可以在那个地方进行编写代码了,以实现组件功能了。
    在这里插入图片描述
    APP组件种类
    在这里插入图片描述
    例:
    (把左面的组件拖拽到中间区域即可)
    文件保存后缀为.mlapp
    在这里插入图片描述
    设置组件对象的属性
    在这里插入图片描述
    在这里插入图片描述
    定义回调函数
    打开回调函数相应的代码框架:
    在这里插入图片描述
    APP程序
    类的基本结构
    注:回调函数的app参数为界面句柄
    在这里插入图片描述
    访问权限
    在这里插入图片描述
    例:
    在这里插入图片描述
    你转到回调函数后,会出现下面的程序框架:
    在这里插入图片描述
    在Draw Plot(app)中加入如下程序,
    左侧第一条语句app.DiscreatKnob.Valie是获取离散旋钮对象的Value值,是字符型的,用eval()函数把其转换为数值。
    左侧第二条语句获取旋钮对象的value值,最终得到一个弧度
    左侧第4到8行是选择结构,根据单选按钮选择相应的函数,从而计算y坐标
    左侧最后一条语句为绘图,并设置线条宽度
    右侧代码为清空按钮的,cla是清空的意思
    需要你注意的是:app.xxx中的这个xxx一定要宁明白到底是谁!比如下面的RadioButton,是Button Group中的sin(x),重命名为了RadioButton
    在这里插入图片描述
    运行的方法以及结果
    在这里插入图片描述
    打包APP应用,将应用程序生成为一个安装文件,运行这个安装模块,则会在MATLAB主窗口应用程序窗口中加入这个应用。
    在这里插入图片描述

    展开全文
  • MATLAB中,用句柄来标识对象,通过句柄来访问相应对象的属性。 例子: 访问图形对象 对象句柄.属性名字 获取特定图形对象句柄的函数 2、图形对象属性 例子: ...
  • Matlab教学课件:第11章 MATLAB图形用户界面设计.ppt
  • Matlab图形用户界面设计.ppt
  • MATLAB之GUI的界面基本介绍 通过文件—>预设—>来设计控件的展示方式。 ③ 查看 主要功能:是否显示工具条、状态栏、并可查看当前选中的控件的属性,查看当前GUI包含的所在空间,查看当前GUI界面的代码,查看...
  • 线性方程组数值算法的MATLAB图形用户界面设计.pdf
  • MATLAB程序设计教程:第11章 MATLAB图形用户界面设计.ppt
  • 第34卷(2006第12期 计算机与数字工程 135 在MATLAB图形用户界面设计中使用ActiveX控件+ 李亚军1赵刚1 王华2 徐建2 (四川大学电子信息学院1 成都610064(四川电子设备研究所2 成都610100 摘要MAAB的图形用户界面开发...
  • 第10章 MATLAB图形用户界面设计;10.1 MATLAB图形句柄;10.1 MATLAB图形句柄;10.1 MATLAB图形句柄;10.1 MATLAB图形句柄;三图形对象的创建;三图形对象的创建;三图形对象的创建;三图形对象的创建;10.2 菜单设计;10.2 ...
  • Matlab非常经典的新手教程进阶提高-第11章 MATLAB图形用户界面设计.ppt 对于新手,是由易而难的好教程,对于有一定基础的后面章节也有很好的提高,是个全面的ppt教程,希望能帮到大家!
  • MATLAB图形用户界面设计PPT教案学习.pptx
  • MATLAB图形用户界面设计matlab全教程PPT教案学习.pptx
  • MATLAB图形用户界面设计在实验教学中的应用.pdf
  • 程序设计MATLAB程序设计教程电子教案2660-第11章 MATLAB图形用户界面设计.ppt :handshake
  • MATLAB编程与工程应用MATLAB图形用户界面设计PPT教案学习.pptx

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,728
精华内容 5,091
关键字:

matlab图形用户界面设计

matlab 订阅