【问题标题】:how to send parameters from one call back to other callback?如何将参数从一个调用发送回另一个回调?
【发布时间】:2014-04-07 19:19:08
【问题描述】:

我有这些回调函数:

function q7_OpeningFcn(hObject, eventdata, handles, varargin)

-----
-----
function column_icrement_Callback(hObject, eventdata, handles)

----
----

function row_icrement_Callback(hObject, eventdata, handles)
----
----

function width_increment_Callback(hObject, eventdata, handles)
---
---

这是我想从function q7_OpeningFcn(hObject, eventdata, handles, varargin) 向其发送参数的最后 3 个函数。我已成功加载图片,但不确定是否可以发送超过 3 个参数来调整行、列、高度、宽度?

【问题讨论】:

    标签: matlab callback matlab-figure matlab-guide


    【解决方案1】:

    不要使用全局变量。使用handles 结构来传递这些数据。

    q7_OpeningFcn 中,存储此数据(例如handles.rows=...)。

    在回调中,您将拥有handles 结构中的数据。

    如果您在回调中更改handles 中的值,则需要运行guidata(hObject,handles)。请参阅Store Data Using the guidata Function 和那里的示例。

    您还可以使用setappdata/getappdata按名称 ("application data") 存储和检索数据。有关这两种方法的详细信息,请参阅文章 Share Data Among Callbacks

    Even more on storing data in a GUI.

    【讨论】:

    • 你能说明一下我是如何使用shell的吗?我喜欢你的方法,因为它看起来很有活力。我在写代码时无法生产??
    • 如果您使用 GUIDE 创建 GUI,它将在整个过程中使用,并在其使用时使用 cmets。有关示例,另请参阅 here。请参阅我的编辑。 Here 是一个最小的例子。
    • 非常有用。当我需要你的帮助时帮助我。 thnxx
    【解决方案2】:

    定义全局变量。
    http://www.mathworks.com/help/matlab/ref/global.html

    总结:将global row, col, ...放在q7_OpeningFcn的开头。然后在负责其中一个变量的每个函数中将global row=value 放入该函数中。

    例如:

    function q7_OpeningFcn(hObject, eventdata, handles)
        global column, row, width
        doStuff 
    end
    
    function column_icrement_Callback(hObject, eventdata, handles)
        global column
        column=value
    end
    
    function row_icrement_Callback(hObject, eventdata, handles)
        global row
        row=value
    end
    
    function width_increment_Callback(hObject, eventdata, handles)
        global width
        width=value
    end
    

    【讨论】:

    • 除了这个问题。是否可以检查按钮是否被按下然后增加值?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-01
    • 2023-04-07
    • 1970-01-01
    • 2011-09-21
    相关资源
    最近更新 更多