[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'); 

在这里插入图片描述

  • 4
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
原创pushbutton应用显示多行文字及数学公式-003v2.rar 因為修改太多~重新發帖~ 舊帖請至 https://www.ilovematlab.cn/thread-86806-1-4.html 查看 該函數應該已經很完善 如果有出現問題可至下方網址的日誌回報 環境及建構方式:   使用R2010a 所建立的M檔案   無法獨立運行,必須配合gui 的pushbutton 物件使用 程序基本介紹:   目前 pushbutton物件,無法顯示兩行以上的文字   但是只要透過 pushbutton 背景的設置就可以達到兩行以上的文字及顯是數學公式   並且沒有失去pushbutton 原有的屬性的設置,如文字顏色、粗體、斜體~等等      程序本身採用文字直接轉換成圖片,而非保存成圖片在進行設置   因此對於不同解析度的電腦螢幕,不會造成模糊不清的情況   主要的原理是將text 的的文字效果轉換成圖片,在進行按鈕 CData屬性的設置   來達到按鈕物件本身無法達到的文字內容   因此只要 text 擁有的屬性,都可以進行設置   相對的也產生一些不方便,主要是在文字轉換成圖片時   會開啟視窗並迅速關閉,來達到文字的轉換   以及點擊的瞬間會有顏色的不同的情況 使用方法:   Buttonmultitext   buttonh = pushbutton 物件的句柄   stringcell = 要顯示在 pushbutton  的文字   varargin = 輸入的屬性~參考下表格 可以使用的物件屬性 FontAngle 斜體字 FontName 字型 FontSize 字體大小 FontWeight 粗體字 Interpreter 數學符號 CData 按鈕背景 可輸入檔案名稱或矩陣 Rotation 文字方向 BackgroundColor 背景顏色 LineStyle 文字邊框的線型 LineWidth 文字邊框的線條大小 Margin 文字邊框與文字的距離 不可以使用的物件屬性 VerticalAlignment 水平對齊 HorizontalAlignment 垂直對齊 Position 位置大小 FontUnits 字體單位 更新與錯誤回報:   http://blog.ilovematlab.cn/index.php?uid-59127-action-viewspace-itemid-20   v1.00.00.00 實現多行文字按鈕   v1.01.00.00 增加多屬性設置   v1.01.01.00 修正變量命名,將過於簡單的變量以照相關的英文單字命名   v1.02.00.00 增加按鈕CData的屬性設置以及數學公式的顯示   v1.03.00.00 修改文字及背景圖合成的不完美   v1.03.01.00 修改註解內容,由中文更變成英文   v1.03.02.00 新增HELP所能查詢的英文說明   v1.04.00.00 增加不可使用之屬性強制移除的程序   之後的版本請查看上網址 備註:無 預覽圖片: end.PNG 程序原始碼: 003v2.rar
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值