Matlab 将句柄从一个m文件传递到另一个m文件
从我的“主”窗口我有一个按钮,打开另一个窗口“列表”。在列表窗口中,我有两个列表框,左边的一个有名字,右边的一个我给它添加名字。但是,一旦单击“列表”窗口上的“确定”按钮,我就无法将添加到列表中的名称传递到“主”窗口 我得到的错误是:Matlab 将句柄从一个m文件传递到另一个m文件,matlab,user-interface,handles,Matlab,User Interface,Handles,从我的“主”窗口我有一个按钮,打开另一个窗口“列表”。在列表窗口中,我有两个列表框,左边的一个有名字,右边的一个我给它添加名字。但是,一旦单击“列表”窗口上的“确定”按钮,我就无法将添加到列表中的名称传递到“主”窗口 我得到的错误是: ???类句柄的列表框中没有适当的方法、属性或字段错误。 ==>Insert\u Fault>Done\u按钮在380处回调时出错 设置(主、句柄、故障\u列表框、'String',SelectedFaults) 96处的==>gui_mainfcn中出错 feva
???类句柄的列表框中没有适当的方法、属性或字段错误。
==>Insert\u Fault>Done\u按钮在380处回调时出错
设置(主、句柄、故障\u列表框、'String',SelectedFaults)
96处的==>gui_mainfcn中出错
feval(varargin{:});
错误==>在42处插入\u故障
gui_mainfcn(gui_State,varargin{:});
?评估uicontrol回调时出错
两个m文件都在同一个目录中。我被卡住了。感谢您的帮助您的代码没有显示变量“handle”是如何定义的。您的意思是“handles”吗?在本例中,handles结构是Insert_故障图附带的结构,与主图的handles结构无关 如果要修改主窗口中的列表框,可以将故障列表框的句柄从主图形传递到插入故障图形,例如通过 下面的代码应该执行您想要的操作 大体上:
% Callback of a button in main that opens the Insert_Fault figure
function Open_Insert_Fault_Callback(hObject, eventdata, handles)
Insert_Fault('UserData', struct('Mainhandles', handles));
在插入故障时:
function Done_Button_Callback(hObject, eventdata, handles)
SelectedFaults = get(handles.SelectedFaults_Listbox,'String');
userdata=get(handles.figure1, 'UserData');
Mainhandles=userdata.mainhandles;
set(Mainhandles.Faults_Listbox,'String',SelectedFaults)
close(Insert_Fault)
太棒了…稍微修改一下你的代码就行了。非常感谢你的帮助
function Done_Button_Callback(hObject, eventdata, handles)
SelectedFaults = get(handles.SelectedFaults_Listbox,'String');
userdata=get(handles.figure1, 'UserData');
Mainhandles=userdata.mainhandles;
set(Mainhandles.Faults_Listbox,'String',SelectedFaults)
close(Insert_Fault)