将参数传递给UIcontrol回调函数

时间:2016-09-07 13:36:34

标签: matlab arguments uicontrol

我正在创建一个应用程序来跟踪我的财务状况,我很困惑如何将字符串传递给uicontrol按钮对象中的回调函数。

例如:

classdef moneyapp < handle
methods (Access = public)
        function app = moneyApp
            % uicontrol object example
            app.NewSymbolGLMC = uicontrol(app.FigureGLMC,...   
                'Style','pushbutton','Position',[300 60 200 20],...
                'String','New Stock',...
                'Callback', {@app.newStock,'Account Name'});
        end
        function newStock(src,eventData,account)
            % Do something with the string, 'Account Name'
        end
    end
end 

我对如何将字符串'Account Name'添加到newStock函数感到困惑。这是我的代码的一个重要部分,我只是认为我的语法不正确;如果需要,可以提供更多代码示例。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:1)

由于newStock是您的类的方法,因此第一个输入必须成为对象本身。因此,您需要在函数定义中使用四个输入参数: 实例,源和事件数据(默认输入)以及帐户名称。

function newStock(obj, src, eventData, account)

作为旁注,构造函数(moneyApp)的大小写必须与要被视为构造函数的类(moneyapp)的大小写相匹配。