编辑: sunny爹 | 2015-12-21 |
11 图形用户界面(GUI)制作 用户界面(或接口)是指:人与机器(或程序)之间交互作用的工具和方法.
如键盘、 鼠标、跟踪球、话筒都可成为与计算机交换信息的接口. 图形用户界面(Graphical User Interfaces ,GUI)则是由窗口、光标、按键、菜单、文 字说明等对象(Objects)构成的一个用户界面.用户通过一定的方法(如鼠标或键盘)选择、激活这些图形对象,使计算机产生某种动作或变化,比如实现计算、绘图等. 假如读者所从事的数据分析、解方程、计算结果可视工作比较单一,那么一般不会考 虑GUI 的制作.但是如果读者想向别人提供应用程序,想进行某种技术、方法的演示,想 制作一个供反复使用且操作简单的专用工具,那么图形用户界面也许是最好的选择之一. MATLAB 为表现其基本功能而设计的演示程序 demo 是使用图形界面的最好范例. MATLAB 的用户,在指令窗中运行 demo 打开那图形界面后,只要用鼠标进行选择和点击, 就可浏览那丰富多彩的内容. 即便比较熟悉 MATLAB 的读者,在他初次编写 GUI 程序时,也会感到棘手.为使读者 获得制作自己 GUI 的体验,本章 入门 节提供了一个简单的示例.读者只要输入所提供 的程序,就可引出相应的界面. 本章第
2 节叙述图形用户界面的设计原则和一般制作步骤.第
3、4 节分别介绍用户菜 单、用户控件的制作.出于 由浅入深 的考虑,前4节制作 GUI 是通过 M 脚本文件实现 的. 利用 M 函数文件制作 GUI , 需要解决数据传递问题, 为此专设第
5 节给予阐述和示例. MATLAB 5.x 版为方便用户制作图形界面,提供了一个交互式的设计工具 guide .关于该工 具的使用方法,被放在第
6 节中,以一个综合例题为设计目标逐步展开. 在此提醒读者,假如要比较准确的理解本章程序和掌握本章内容,请先阅读第
10 章关 于图柄的内容. 11.1入门 【*例11.1-1】对于传递函数为
1 2
1 2 + + = s s G ζ 的归一化二阶系统,制作一个能绘制该系 统单位阶跃响应的图形用户界面.本例演示:(A)图形界面的大致生成过程;
(B)静态 文本和编辑框的生成;
(C)坐标方格控制键的形成;
(D)如何使用该界面. (1)产生图形窗和轴位框: clf reset H=axes('
unit'
,'
normalized'
,'
position'
,[0,0,1,1],'
visible'
,'
off'
);
set(gcf,'
currentaxes'
,H);
str='
\fontname{隶书}归一化二阶系统的阶跃响应曲线'
;
text(0.12,0.93,str,'
fontsize'
,13);
h_fig=get(H,'
parent'
);
set(h_fig,'
unit'
,'
normalized'
,'
position'
,[0.1,0.2,0.7,0.4]);
h_axes=axes('
parent'
,h_fig,... '
unit'
,'
normalized'
,'
position'
,[0.1,0.15,0.55,0.7],... '
xlim'
,[0 15],'
ylim'
,[0 1.8],'
fontsize'
,8);
PDF created with pdfFactory Pro trial version www.pdffactory.com
2 图11.1-1 产生坐标轴 (2)在坐标框右侧生成作解释用的 静态文本 和可接受输入的 编辑框 : h_text=uicontrol(h_fig,'
style'
,'
text'
,... '
unit'
,'
normalized'
,'
position'
,[0.67,0.73,0.25,0.14],... '
horizontal'
,'
left'
,'
string'
,{'
输入阻尼比系数'