Matlab:在单独的函数中从GUI调用句柄

时间:2016-06-07 13:59:41

标签: matlab user-interface matlab-guide

我有以下edittext函数:

function startfile_Callback(hObject, eventdata, handles)

function startfile_CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end

我还有以下按钮调用函数(images_seq):

function video_Callback(hObject, eventdata, handles)
images_seq

我想要在同一个.m文件中的(images_seq)函数来调用edittext函数。 (images_seq)函数如下所示:

function [ output_args ] = images_seq( output_name,images_dir,img_format, frame_rate, handles)

start_file = get(handles.startfile,'string');

我得到的错误如下:

Not enough input arguments.

请帮忙

1 个答案:

答案 0 :(得分:0)

fisrt当你调用一个函数时你必须输入函数需要它们的参数,在你的代码中你有这个函数

function [ output_args ] = images_seq( output_name,images_dir,img_format,frame_rate, handles)

start_file = get(handles.startfile,'string');

但是你以错误的方式调用函数来调用这个函数你必须输入所有的参数

 function video_Callback(hObject, eventdata, handles)
 images_seq(o_name,dir,img_f,f_rate,handles)

一个简单的例子假设你有一个函数,在addd.m文件中添加了这个函数名

function out=addd(x,y)
out=x+y;

如果您在代码下面的命令窗口中输入相同的错误

>>addd
Error using addd (line 2)
Not enough input arguments.

要调用此函数,您必须输入x,y(输入参数)

>> addd(1,2)

ans =

     3