3

如何使用waitforuiwait在 MATLAB 的应用程序设计器中使用?这些功能仅适用于图形 (GUIDE) 而不是应用程序设计器窗口。我怎样才能在应用程序设计器中有相同的行为?在继续主窗口的代码之前,我正在等待关闭第二个窗口。

4

1 回答 1

5

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

如果有足够的字符匹配唯一名称* ,MATLAB 会自动完成属性名称。在您的情况下,'close'与该图的CloseRequestFcn. UI 图形对象没有此属性,因此出现错误。

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


* 我不确定这是否在任何地方的 MATLAB 文档中明确说明,但功能等价物是PartialMatchingMATLABinputParser的属性:

作为参数名称的前导子字符串的输入将被接受,并且值与该参数匹配。如果输入字符串有多个可能的匹配项,MATLAB 将引发错误。

于 2016-08-22T13:49:44.883 回答