[英]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.