【问题标题】:Passing variables between function in MATLAB GUI using handles使用句柄在 MATLAB GUI 中的函数之间传递变量
【发布时间】:2015-04-20 05:16:47
【问题描述】:

我对 MATLAB 比较陌生,所以如果这是一个相当基本的问题,请原谅我。我正在尝试了解如何操作变量并在 GUI 内的函数之间传递结果。

如果我使用 GUIDE 界面设置 GUI,我将获得几个功能。当我点击一个按钮时,我想做一个特定的动作,保存一个变量,然后在另一个函数中使用这个变量。

function pushbutton1_Callback(hObject, eventdata, handles)
     handles.MyData = 7;

现在,既然数据存储在句柄中,我能不能以这种方式在 GUI 的另一个函数中简单地使用它?

function pushbutton2_Callback(hObject, eventdata, handles)
     result = 5 + handles.MyData;

这是一个非常简单的示例,但我试图深入了解如何传递变量的逻辑。我知道那里有很多信息并且我已经阅读了它,但是我无法深入了解变量如何存储在结构中以及它们如何在函数之间传递的逻辑。

【问题讨论】:

    标签: matlab


    【解决方案1】:

    当你更新handles结构时,你必须使用guidata来存储它:

    guidata(hObject, handles);
    

    然后你可以在不同的回调中使用它。

    【讨论】:

    • 所以我理解正确。如果在更新句柄的每个函数的末尾添加 guidata(hObject, handles);它将全局更新句柄结构吗?
    • @amkas90:是的。阅读帮助(答案中提供的链接)。
    • 谢谢。我读了它,但我不明白我错过了什么部分。感谢您的帮助。
    猜你喜欢
    • 2013-03-27
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多