我有这些回调函数:
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个参数来调整行,列,高度,宽度?
答案 0 :(得分:3)
不要使用全局变量。使用handles
结构传递此数据。
在q7_OpeningFcn
中,存储此数据(例如handles.rows=...
)。
在回调中,您将拥有handles
结构中的数据。
如果您在回调中更改handles
中的值,则需要运行guidata(hObject,handles)
。请参阅Store Data Using the guidata
Function及其中的示例。
您还可以使用setappdata
/ getappdata
按名称存储和检索数据("application data")。有关这两种方法的详细信息,请参阅文章Share Data Among Callbacks。
答案 1 :(得分:0)
定义全局变量 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