[MATLAB]图形用户界面的设计(按钮控制绘图)

本实验取材于《科学计算与MATLAB语言》主要讲述如何操控matlab图形窗口。

  • 图形用户界面的组成
  • 控件对象及其操作
  • 菜单对象及其操作

图像用户界面的组成

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

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

控件对象及其操作

常用控件

  • 输入和输出类控件:编辑框、静态文本、列表框、滑动条等。
  • 实施确认、选择操作类控件:按钮、双位按钮、单选按钮、复选框等。

建立控件对象

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

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

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

控件对象的基本控制属性

  • Style属性:定义控件对象的类型,例如’pushbutton’表示按钮对象,'edit’表示编辑框,等等.
  • String属性:定义控件对象的说明文字。
  • Tag属性:标识控件对象.
  • Enable属性:控制控件对象是否可用。
  • Position属性:定义控件对象的位置和大小,其取值形式为[x,y,w,h].
  • Callback属性:属性值是描述命令的字符串或函数句柄。当选中控件时,系统将自动执行字符串描述的命令或调用句柄所代表的函数,实施相关操作。

菜单对象

建立菜单对象

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

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

菜单属性

  • Label属性:用于定义菜单项的名字.
  • Accelerator属性:用于定义菜单项的快捷键.
  • Checked属性:指示菜单项是否已选中.
  • Enable属性:控制菜单项的可选择性.
  • Separator属性:用于在菜单中添加分割线.

例子–窗口画正弦

先在plot_sin.m里写下绘制正弦函数

function plot_sin(source, callbackdata)
    t=-pi:pi/20:pi;
    plot(t,sin(t));
end

然后开始创建菜单:

ha= axes('Units','pixels','Position',[40,40,360,360]);   
ptgrid=uicontrol('Style','pushbutton',...
     'String','网格', 'Position', [450,120,48,20],...
    'Callback','grid' );
btncla = uicontrol('Style', 'pushbutton', ...
    'String', '清除','Position', [450,80,48,20],...
    'Callback','cla' );    
btnplot = uicontrol('Style', 'pushbutton', ...
     'String','绘图','Position', [450,160,48,20],...
     'Callback','plot_sin'); 

在这里插入图片描述

发布了137 篇原创文章 · 获赞 30 · 访问量 8866

猜你喜欢

转载自blog.csdn.net/m0_37149062/article/details/105403043