将等待栏添加到matlab gui

时间:2015-11-23 07:28:16

标签: matlab user-interface

我创建了MatLab GUI,它通过点击GUI上的按钮执行matlab脚本。

现在我想要显示运行该脚本耗时的方法

以下代码显示了我到目前为止的表现

function pushbutton1_Callback(hObject, eventdata, handles)
% hObject    handle to pushbutton1 (see GCBO)
run('resizeingDONTDELETE.m');
end 

我找到了show wait bar的代码,但它没有用!!!!

h = waitbar(0,'Please wait...');
steps = 1000;
for step = 1:steps
run('resizeingDONTDELETE.m');
    waitbar(step / steps)
end
close(h)

这里我希望结果如下,

  • 点击按钮时,应该打开等待按钮 显示时间为零
  • 时间应该随着执行脚本所花费的时间而增加
  • 执行等待栏后
  • 应该消失
谁能帮助我.......

1 个答案:

答案 0 :(得分:0)

如果您的脚本被划分为某些中间步骤(不一定是for循环),则waitbar非常有用,您可以在其中指示每个中间步骤(或之前)的进度。在伪代码中,假设您有4个中间步骤:

  • 主要剧本
    • waitbar(0/4)
    • 做中间步骤1
    • waitbar(1/4)
    • 做中间步骤2
    • waitbar(2/4)
    • 做中间步骤3
    • waitbar(3/4)
    • 做中间步骤4
    • waitbar(4/4)

否则,如果你的脚本是一个黑盒子,那就是'在没有让您访问某些中间步骤的情况下启动和终止 - 您无法以有用的方式使用waitbar