如何使用属性在 MATLAB App Designer 中的两个应用程序之间共享数据?

How to use properties to share data between two apps in MATLAB App Designer?

我使用 MATLAB App Designer 创建了两个应用程序(分别命名为 "firstapp"、"secondapp"),我希望它们共享将在单元格中输入的数据和变量。

首先,第一个应用通过按下按钮打开第二个。这部分很清楚。除此之外,我正在尝试为第二个应用程序提供一些输入变量,并将这些输入变量的基本计算发送到我的第一个应用程序。问题是当我按下第一个应用程序中的按钮以打开第二个应用程序时,出现了几个错误。

在执行此操作时,我添加了一个 public 属性,包括输入参数(a、b、c)及其结果,并将结果发送到第一个应用程序通过按下按钮。

第二个应用程序中需要保留输入参数并将结果变量发送到第一个应用程序的代码如下:

properties (Access = public)
    a = secondapp.aEditField.Value;
    b = secondapp.cEditField.Value;
    c = secondapp.cEditField.Value;
    result = (a + b)^c;
end

按钮功能:

function CalculateButtonPushed(app, event)
    firstapp.result2 = secondapp.result;
end

我只想将结果发送到第一个应用程序,但我遇到了几个错误消息:

1) "Invalid default value for property 'a' in class 'secondapp' "

2) "The property 'aEditField' in class 'secondapp' must be accessed from a class instance because it is not a Constant property."

您需要为您的第二个应用程序添加一个参数。 可以在代码视图中完成,按 "App Input Arguments",将出现一个对话框。添加 "firstapp" 作为参数。

在您的第一个应用程序中,当按下按钮打开第二个应用程序时。你必须这样调用第二个应用程序。

secondapp(firstapp);

您将能够从第二个应用访问第一个应用的所有 public 属性。

详情请参考文档。 https://www.mathworks.com/help/matlab/creating_guis/app-designer-startup-function.html