我一直认为,在 MATLAB 中,一个图形句柄X
,其属性HandleVisibility
设置为任何其他值,而不是on
在使用findobj(h)
或作为. 然而,这似乎只在 Windows 下才成立,而在 Linux 下则不然。我在 Debian 6.0.6(挤压)和 Windows 7 上都使用 MATLAB R2011b。如果我在 Windows 下运行以下代码:get(h, 'Children')
h
X
figure;plot(randn(1,1000));
h = get(gcf, 'Children');
然后我在 中得到一个句柄h
,它对应于包含我的随机图的轴。这是我所期望的。但是,如果我在 Linux 中运行完全相同的代码,则h
包含 10 个句柄的数组。实际上,这些句柄中的大多数只是 UI 元素,其HandleVisibility
属性设置为off
. 例如:
get(h(end), 'Type') % returns: 'uitoolbar'
get(h(end), 'HandleVisibility') % returns 'off'
这种明显不一致的行为是否有原因?这可以被其他人复制吗?如果可能相关,我使用的 Debian 服务器运行 Sun JAVA 1.6.0_26,这不是 Debian (openJDK) 的默认设置。