访问 CellEditCallback 函数中的句柄结构
Access handles structure in CellEditCallback function
我正在 Matlab Guide 中创建一个 uitable,它会根据用户输入的几个参数自动生成文件名。对于 table 中的每个文件名,可以指定 运行 时间和 运行 的数量。
我正在尝试为 uitable 编写一个回调函数,它将在 运行 时间或 运行s 已编辑。这是我写的回调函数。
function runTableCallback(hObject,callbackdata)
numval = eval(callbackdata.EditData);
r = callbackdata.Indices(1);
c = callbackdata.Indices(2);
if c==2
handles.runnums(r,1)=numval;
hObject.Data{r,c} = numval;
elseif c==3
handles.runtimes(r,1)=numval;
hObject.Data{r,c} = numval;
end
[runlog,runnames,runnums,runtimes,rundesc]=generateRuns(hObject,handles);
handles.runlog=runlog;
handles.runnames=runnames;
handles.runnums=runnums;
handles.runtimes=runtimes;
handles.rundesc=rundesc;
set(handles.uitable19,'Data',[handles.runlog,handles.runnames,handles.runnums,handles.runtimes]);
guidata(hObject, handles);
我需要调用 'generateRuns' 函数以使用编辑后的数据创建更新的 table 信息。然后更新后的信息将在下一行使用 "set" 函数显示在 table 中。但是,我收到以下错误:
Undefined function or variable "handles".
如何在回调函数中访问句柄?回调函数在UI控件中指定为table在另一个对象回调函数中。
set(handles.uitable19,'CellEditCallback',@runTableCallback);
如有任何帮助,我们将不胜感激。
您还没有将 handles
传递给您的回调。
尝试将您的 set
调用调整为:
set(handles.uitable19,'CellEditCallback', {@runTableCallback, handles});
并将您的函数定义为:
function runTableCallback(hObject, callbackdata, handles)
我正在 Matlab Guide 中创建一个 uitable,它会根据用户输入的几个参数自动生成文件名。对于 table 中的每个文件名,可以指定 运行 时间和 运行 的数量。
我正在尝试为 uitable 编写一个回调函数,它将在 运行 时间或 运行s 已编辑。这是我写的回调函数。
function runTableCallback(hObject,callbackdata)
numval = eval(callbackdata.EditData);
r = callbackdata.Indices(1);
c = callbackdata.Indices(2);
if c==2
handles.runnums(r,1)=numval;
hObject.Data{r,c} = numval;
elseif c==3
handles.runtimes(r,1)=numval;
hObject.Data{r,c} = numval;
end
[runlog,runnames,runnums,runtimes,rundesc]=generateRuns(hObject,handles);
handles.runlog=runlog;
handles.runnames=runnames;
handles.runnums=runnums;
handles.runtimes=runtimes;
handles.rundesc=rundesc;
set(handles.uitable19,'Data',[handles.runlog,handles.runnames,handles.runnums,handles.runtimes]);
guidata(hObject, handles);
我需要调用 'generateRuns' 函数以使用编辑后的数据创建更新的 table 信息。然后更新后的信息将在下一行使用 "set" 函数显示在 table 中。但是,我收到以下错误:
Undefined function or variable "handles".
如何在回调函数中访问句柄?回调函数在UI控件中指定为table在另一个对象回调函数中。
set(handles.uitable19,'CellEditCallback',@runTableCallback);
如有任何帮助,我们将不胜感激。
您还没有将 handles
传递给您的回调。
尝试将您的 set
调用调整为:
set(handles.uitable19,'CellEditCallback', {@runTableCallback, handles});
并将您的函数定义为:
function runTableCallback(hObject, callbackdata, handles)