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

界面对象分三类:

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

 

posted @ 2015-04-16 16:07  candylight  阅读(396)  评论(0编辑  收藏  举报