如何在Matlab中检查值是否为有效属性?

时间:2011-03-27 08:49:15

标签: class user-interface matlab properties

有没有办法检查属性值是否对给定的hobject有效? 我以下面的“启用”属性为例,我的问题是针对一般属性,并假设您事先并不知道所有可能接受的属性值。

% MyBtnObject is a standard push button

% this will be ok
set(MyBtnObject, 'enable', 'on');

% and this will not, but how can I check it?
set(MyBtnObject, 'enable', 'SomeInventedProp');

1 个答案:

答案 0 :(得分:2)

我找到了答案。我可以使用x = set(MyBtnObject, 'enable')获取enable属性的可能值,列为单元格数组x

% find buttons
h = findobj('style', 'pushbutton');

% getting all the possible values for 'enable' property for all pushbuttons
% x = set(h, 'enable'), when h is array, will not work
x = arrayfun(@(x)(set(x, 'enable')), h, 'UniformOutput', false);