【问题标题】:How to use properties to share data between two apps in MATLAB App Designer?如何在 MATLAB App Designer 中使用属性在两个应用程序之间共享数据?
【发布时间】:2019-10-04 08:13:43
【问题描述】:

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

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

在执行此操作时,我添加了一个公共属性,包括输入参数(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) “类‘secondapp’中属性‘a’的默认值无效”

2) "类 'secondapp' 中的属性 'aEditField' 必须从类实例中访问,因为它不是常量属性。"

【问题讨论】:

    标签: matlab matlab-app-designer


    【解决方案1】:

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

    在您的第一个应用程序中,通过按下按钮打开第二个应用程序时。您必须以这种方式调用第二个应用程序。

    secondapp(firstapp);
    

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

    有关详细信息,请参阅文档。 https://www.mathworks.com/help/matlab/creating_guis/app-designer-startup-function.html

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 1970-01-01
      • 2017-11-28
      • 1970-01-01
      相关资源
      最近更新 更多