MATLAB-《10分钟学习GUI系列》-【第一课】- 对象的基础概念及操作
- get:查看获得某对象属性。get(0) 获得句柄值为0的对象的属性,即显示器对象属性
- set:设置某对象属性。
- allchild:查找某一对象的所有子级(子对象或属性)
- gcf :当前Figure对象的句柄值。(gcf指整个图都是)
- gca:当前坐标区或图的句柄值。(gca指红框里的坐标,gca范围比gcf小的多。)
- findobj :查找符合属性要求的对象。(属性HandleVisibility为off的,找不到 )。
- findall:查找所有图形对象。可以先用 findall 或 findobj 命令查找对象,再用set对对象进行修改。
findall 与 findobj 类似,不同的是即使其 HandleVisibility 设置为 'off',它也查找对象。
【GUI的'handlevisibility'属性】
handlevisibility:用于设置控件的句柄可访问性。可以取三个值:
on :对于所有函数均可见,该控件的句柄,不仅gui的回调函数可以认,非gui(matlab非gui模块的函数、用户自动函数)都可以认
off:该控件不可访问
callback:该控件只有gui的回调函数可以访问
- 无论是属性,还是属性值,只要是字符,一般都用单引号引起来。如果是数字,一般不用单引号。
例子:
例子:
plot([0:10]); % 绘制一幅图
title('示例'); % 增加text对象,试试用添加子对象的方法,进行添加text对象
allchild(gcf) %gcf是当前图窗的句柄。获取当前窗口的所有子对象,而不是属性
get(ans(10)) %查看allchild(gcf) 命令运行结果ans中的第10个子对象的所有属性。
%get(0):获得句柄值为0的对象的属性,即显示器对象属性
%从get命令行输出结果ans里找到“Type”,type的属性值就是该子对象的类型
set(ans(10), 'FontSize', 20, 'FontWeight', 'bold');%找到对应的属性,就可以按照自己的要求设置了
%找到第10个子对象,根据要求,设置图像。
%fontsize是字体大小,设置为20
%FontWeight是字宽,bold指的是加宽
%这里的ans(10),可以换成其他的指定具体子函数的字段。
h=findobj(allchild(gca), 'String', '示例'); % 获得静态文本“示例”的句柄并进行设置,这里有问题,搜不到。
%上面的那个命令报错的原因是:
% 1.text对象属于figure的子对象,不属于axes的子对象,所以这里要用gcf.
% 2.text的HandleVisibility属性为'off',findobj搜不到,所以只能使用findall,
% 3.或是把它的HandleVisibility属性改为'on',再用findobj,也能搜到
%所以命令更改为:
h=findall(allchild(gcf), 'String', '示例'); %就可以搜到.
%allchild(gca)是获取
% 属性为“String”。text是坐标轴的子对象
%属性值为“实例”
set(h, 'FontSize', 20, 'FontWeight', 'bold');
我做了这么多,只是想给童年的自己做一个好榜样。

浙公网安备 33010602011771号