Matlab GUI等待栏

时间:2016-12-09 12:34:50

标签: matlab user-interface matlab-figure

我正在编写一个小脚本开始习惯在MATLAB中使用waitbars,我想将waitbar的边缘颜色设置为绿色,将面部颜色设置为蓝色但是它不起作用;我一直把脸色换成绿色,边缘是黑色。 这是代码:

wb=waitbar(0,'Iterating...');
set(wb,'Name','Changing color');
wbobject=findobj(wb,'Type','Patch');
set(wbobject,'EdgeColor',[0 1 0],'FaceColor',[0 0 1]);
for i=1:1000
    waitbar(i/1000)
end
delete(wb);

另一个问题:您是否介意向我解释或引用我的信息来理解MATLAB中的补丁是什么?

谢谢!

1 个答案:

答案 0 :(得分:1)

您无法在EdgeColor中看到更改,因为waitbar数字包含一个line对象,即该大纲。您将要查找该行对象并更改其Color属性

wb=waitbar(0,'Iterating...');
set(wb,'Name','Changing color');
wbobject=findobj(wb,'Type','Patch');
set(wbobject,'EdgeColor',[0 1 0],'FaceColor',[0 0 1]);

hline = findall(wb, 'type', 'line');
set(hline, 'Color', [0 1 0]);

enter image description here

documentation中还描述了patch个对象。它本质上是一个填充多边形。 waitbar使用一个来表示指示进度的矩形。