如何在 MATLAB 的应用程序设计器中使用 'waitfor' 或 'uiwait'?

How use 'waitfor' or 'uiwait' in app designer of MATLAB?

如何在 MATLAB 的应用程序设计器中使用 waitforuiwait?这些功能仅适用于图形 (GUIDE),不适用于应用程序设计器 windows。我怎样才能在应用程序设计器中有相同的行为?在继续 window.

的主要代码之前,我正在等待关闭第二个 window

waitfor(second_window, 'close');实际上并不是在等待图window关闭。指定 waitfor 的第二个输入告诉 MATLAB 阻止执行,直到指定的 属性 更改或对象被删除。

如果有足够的字符匹配唯一名称*,MATLAB 会自动完成 属性 个名称。在您的情况下,'close' 与图的 CloseRequestFcn. UI figure objects do not have this property 匹配,因此出现错误。

在没有第二个输入的情况下调用 waitfor 以实现所需的行为。


* 我不确定这是否在 MATLAB 文档中的任何地方明确说明,但功能等价物是 PartialMatching property of MATLAB's inputParser class:

Inputs that are leading substrings of parameter names will be accepted and the value matched to that parameter. If there are multiple possible matches to the input string, MATLAB throws an error.