【问题标题】:Close/Delete uiprogressdlg of Matlab AppDesigner on error错误时关闭/删除 Matlab AppDesigner 的 uiprogressdlg
【发布时间】:2021-11-09 14:28:58
【问题描述】:

我想知道当任何回调函数内部发生错误时,如何关闭与 AppDesigner 等效的“uiprogressdlg”的“waitbar”。

我不想实现任何 try-catch-elements。

我尝试使用“KeyPressFcn”、“WindowKeyPressFcn”、“SizeChangedFcn”。但它们只有在没有 uiprogressdlg-box 运行时才起作用。

我无法使用 evalin('base','app') 获取 uiprogressdlg 句柄。在我的情况下,我使用“app.PB = uiprogressdlg(app.GUIname,....) 而“PB”是“app”的公共属性。

用例:在使用和调试应用程序时,我不想在发生这种情况时进行完整的应用程序重启,但现在,这是关闭 uiprogressdlg-box 的唯一解决方案。

【问题讨论】:

    标签: matlab user-interface matlab-app-designer


    【解决方案1】:

    您可以使用清理对象

        p = uiprogressdlg(figH,'Message','Plotting...','Indeterminate','on','Cancelable','on','CancelText','Close')
    cleanupObjPB = onCleanup(@() close(p));
    

    onCleanup 函数将在变量 a 被删除时执行。所以退出调试器会重置进度条

    【讨论】:

    • 这里的“变量a”指的是什么?
    猜你喜欢
    • 1970-01-01
    • 2020-08-31
    • 2022-01-18
    • 1970-01-01
    • 2018-01-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多