[英]Correct Usage of uiwait and uiresume in MATLAB App Designer
我真的很困惑在哪里放置这两个命令uiwait
和uiresume
我在 matlab 中使用应用程序设计器。 我在代码中间有这个 GUI,所以为了让程序停止直到这个 GUI 完成,我正在使用这些命令。
我尝试将uiwait
放在app startupFcn
function startupFcn(app)
uiwait(app.UIFigure)
end
uiresume
在
function UIFigureCloseRequest(app, event)
uiresume(app.UIFigure)
delete(app)
end
但以错误结束
Error using getappdata
Value must be a handle.
Error in appApp/attachOncleanupToFigure (line 109)
appdata = getappdata(fig);
Error in appApp/startApp (line 94)
obj.attachOncleanupToFigure(appdesigner.internal.service.AppManagementService.getFigure(obj.AppHandle));
Error in appApp (line 48)
startApp(obj)
Error in appinstall.internal.runapp>execute (line 116)
out = evalin('caller', [script ';']);
Error in appinstall.internal.runapp>runapp13a (line 95)
outobj = execute(fullfile(appinstalldir, [wrapperfile 'App.m']));
Error in appinstall.internal.runapp>preamble18b (line 60)
appobj = runapp13a(appinstalldir);
Error in appinstall.internal.runapp (line 13)
out = preamble18b(appinstalldir);
Error in matlab.apputil.run (line 45)
appinstall.internal.runapp(appName, appLocation);
Error in trail_uwait_uresume (line 7)
matlab.apputil.run('appAPP')
当我按下一个按钮时,我的 GUI 将关闭,因为我在该按钮回调closereq
的末尾分配了 closereq。
让我知道是否需要任何进一步的信息。
现在,我将其用作解决方法,而不是使用 uiwait 和 uiresume
a = 150;
b = 200;
rolls =zeros(1)
APPINFO = matlab.apputil.install('./APP/app');
matlab.apputil.run('appAPP') % GUI will return rolls
while isequal(rolls,zeros(1)) == 1
pause
end
c = a+ b + rolls;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.