如何使用App Designer为数字字段创建值更改回调?

时间:2017-11-07 17:02:45

标签: matlab

Mathworks指南对此没有多大帮助......

我正在创建这个GUI,我想要做的是当我在GUI中输入参数的新值时,它将更改我工作区中与我在应用程序中输入的内容相对应的值。

我创建了应用程序并在其上删除了一个快速字段框,我添加了一个值更改回调。

我在应用中添加了一个公共属性:

properties (Access = public)
    Tview
end

然后对于我的回调:

function TviewEditFieldValueChanged(app, event)
    app.Tview = app.TviewEditField.Value;
    app.app1.Value = app.Tview;
end

我的应用程序名称现在是app1,而我操作的参数是Tview

然后在我的源代码中我有:

Tview = app.Tview;

当我运行应用程序并输入一个数字然后按回车键时,我收到此错误:

"No appropriate method, property, or field 'app1' for class 'app1'."

我做错了什么,如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您可以按照以下方式使用 evalin assignin 。我显示的示例在ButtonPushed的回调中

function ButtonPushed(app, event)
  AppVar1 = 12;
  evalin('base', ['WorkspaceVar1 = ', num2str(AppVar1), ';']);
  AppVar2 = 24;
  assignin('base', 'WorkspaceVar2', AppVar2);
end

其中 base 是工作空间的基本目录。