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

use*_*243 3 matlab user-interface wait matlab-guide matlab-app-designer

如何使用waitfor或uiwait在MATLAB的应用程序设计师?这些功能仅适用于数字(GUIDE)而非应用程序设计器窗口.如何在应用程序设计器中具有相同的行为?在等待主窗口代码之前我正在等待关闭第二个窗口.

exc*_*aza 5

该waitfor(second_window, 'close');实际上不等待图形窗口关闭.指定第二个输入以waitfor告知MATLAB阻止执行,直到指定的属性更改或删除对象.

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

waitfor不使用第二个输入调用以实现所需的行为.


*我不确定这是否在MATLAB的文档中明确说明,但功能等同是PartialMatchingMATLAB inputParser类的属性:

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