如何在输出功能执行时阻止GUI?

时间:2017-08-16 15:48:02

标签: matlab function user-interface return wait

我正在GUIDE中创建一个MATLAB应用程序,现在我遇到了问题。我需要调用一个需要很长时间才能执行的函数并返回一个值但是在执行该函数时我希望GUI等待返回的值。

我尝试使用 waitfor ,但这样我仍然可以与GUI进行交互,而我无法获取返回的值......

waitfor(function);

我可以想到一些禁用所有GUI然后启用它的东西,但我有启用和禁用的对象......

你知道解决这个问题的方法吗?

1 个答案:

答案 0 :(得分:0)

我喜欢Sam Roberts提出的模态对话。没有神秘感,而且用户友好。

另一个肮脏而简单的解决方案可能是完全隐藏GUI,如果可以的话:

set(hFig, 'Visible', 'off');

并将其设置为' on'完成后。最好确保将其设置为' on'在 catch 块中,以避免因执行期间的错误而消失GUI。