界面对象分三类:

  1. 用户控件对象(uicontrol)
  2. 下拉式菜单对象(uimenu)
  3. 内容式菜单对象(uicontextmenu)

创建用户界面:

1.命令行方式

采用uicontrol来创建控件对象。常用的

  • Handle=uicontrol(parent)
  • Handle=uicontrol(...,'属性名称',属性值,'属性名称',属性值,...)

ex17-1:

h=uicontrol('style','pushbutton','Units','normalized','Position',[.5 .5 .2 .1],'String','单击此处','Callback','set(h,''Position'',[.8*rand .9*rand .2 .1])');

2.GUI设计工具

所有句柄图形图像都有一个ButtonDownFcn属性,大部分UI对象还有个Callback属性,对uicontrol对象还有个KeyPressFcn属性,图形对象则由WindowsButtonDownFcn、WindowButtonUpFcn等等属性。

给按钮对象执行button的click命令,可以设置为:

H_uic=uicontrol('Style','PushButton','Callback','buttonfcn click')

ex17-3:

其中在前两个edit的Callback中添加了限定条件:

input=str2num(get(hObject,'String'));
%检查是否为空,如果为空,显示为0
if (isempty(input))
set(hObject,'String','0')
end
guidata(hObject,handles);

在按钮的Callback中添加了计算事件:

a=get(handles.edit1,'String');
b=get(handles.edit2,'String');
total=str2num(a)+str2num(b);
c=num2str(total);
%更新计算结果
set(handles.edit3,'String',c);
%更新图形对象句柄,一般Callback回调函数都已guidata(hObject,handles)结束已更新数据。
guidata(hObject,handles);

2014.04.16,读书,读书笔记-《Matlab R2014a完全自学一本通》-第17章 图形用户界面的更多相关文章

  1. 2015.04.16,外语,读书笔记-《Word Power Made Easy》 11 “如何辱骂敌人” SESSION 28

    TEASER PREVIEW (Teaser 片头,预告片,玩笑 Teaser trailer:预告片) 如何称呼这些人: 完全盲目的服从(obedience [әu'bi:diәns] n. 服从, ...

  2. 《Java并发编程实战》第九章 图形用户界面应用程序界面 读书笔记

    一.为什么GUI是单线程化 传统的GUI应用程序通常都是单线程的. 1. 在代码的各个位置都须要调用poll方法来获得输入事件(这样的方式将给代码带来极大的混乱) 2. 通过一个"主事件循环 ...

  3. <2014 04 16> 上班实习第一天

    找了家开发3D printer的创业公司实习,做(嵌入式)软件工程师.今天第一天. 1.熟悉了基于SLA技术的3D打印机的主要关键问题,机械结构. 控制系统是基于PC-Clinet和一个树莓派ARM/ ...

  4. &lt;&lt;Python基础教程&gt;&gt;学习笔记 | 第12章 | 图形用户界面

    Python支持的工具包非常多.但没有一个被觉得标准的工具包.用户选择的自由度大些.本章主要介绍最成熟的跨平台工具包wxPython.官方文档: http://wxpython.org/ ------ ...

  5. 《Think Python》第17章学习笔记

    目录 <Think Python>第17章学习笔记 17.1 面向对象的特性(Object-oriented features) 17.2 打印对象(Printing objects) 1 ...

  6. WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形

    原文:WPF,Silverlight与XAML读书笔记第三十九 - 可视化效果之3D图形 说明:本系列基本上是<WPF揭秘>的读书笔记.在结构安排与文章内容上参照<WPF揭秘> ...

  7. 《python编程从入门到实践》读书实践笔记(二)

    本文是<python编程从入门到实践>读书实践笔记11章的内容,主要包含测试,为体现测试的重要性,独立成文. 11 测试代码 写在前面的话,以下是我这些年开发中和测试相关的血泪史. 对于一 ...

  8. 《python编程从入门到实践》读书实践笔记(一)

    本文是<python编程从入门到实践>读书实践笔记1~10章的内容,主要包含安装.基础类型.函数.类.文件读写及异常的内容. 1 起步 1.1 搭建环境 1.1.1 Python 版本选择 ...

  9. ubuntu14.04安装MATLAB R2014a

    1. 首先现在matlab2014a,http://pan.baidu.com/s/1pJGF5ov [Matlab2014a(密码:en52).该文件下载解压后如下所示: 2. 解压解压包(用lin ...

随机推荐

  1. 29. Divide Two Integers[M]两数相除

    题目 Given two integers dividend and divisor, divide two integers without using multiplication, divisi ...

  2. vue项目中阻止浏览器返回上一页

    vue项目中在某个页面阻止浏览器返回上一页,适用移动端.PC端. 使用场景例如: 首页 与 A页面     来回跳转,那样点击浏览器返回时也会来回跳转,本想当页面在首页的时候就不再返回了,所以这个时候 ...

  3. TopN问题(分别使用Hadoop和Spark实现)

    简介 TopN算法是一个经典的算法,由于每个map都只是实现了本地的TopN算法,而假设map有M个,在归约的阶段只有M x N个,这个结果是可以接受的并不会造成性能瓶颈. 这个TopN算法在map阶 ...

  4. Session版购物车+MVC局部刷新

     效果图: 大致代码: <script type="text/javascript"> $(function () { LoadOrderDetailList(); } ...

  5. hdu 2485 Destroying the bus stations 最小费用最大流

    题意: 最少需要几个点才能使得有向图中1->n的距离大于k. 分析: 删除某一点的以后,与它相连的所有边都不存在了,相当于点的容量为1.但是在网络流中我们只能直接限制边的容量.所以需要拆点来完成 ...

  6. java servlet 3.0文件上传

    在以前,处理文件上传是一个很痛苦的事情,大都借助于开源的上传组件,诸如commons fileupload等.现在好了,很方便,便捷到比那些组件都方便至极.以前的HTML端上传表单不用改变什么,还是一 ...

  7. (转)Bootstrap3 概述

    http://blog.csdn.net/duruiqi_fx/article/details/53285607 注意:HTML5 文档类型 Bootstrap 使用到的某些 HTML 元素和 CSS ...

  8. forEach 列出数组的每个元素:

    数组.forEach便利所有的元素 array.forEach(function(currentValue, index, arr), thisValue) function(currentValue ...

  9. Java中Scanner类的使用

    一个可以解析基本类型和字符串的简单文本扫描器. 例如,以下代码使用户能够从 System.in 中读取一个数: public class ApiScanner { public static void ...

  10. DB2常用运维命令

    DB2是IBM公司推出关系型数据库管理系统.主要应用于银行.医院等大型机构.现今DB2主要包含以下三个系列:DB2 for Linux, UNIX and Windows(LUW) . DB2在Lin ...