다른 GUI
(DistanceOrderGUI) 내에서 호출되는 matlab GUI
(Compare2ImagesGUI)이 있으며 사용자와의 상호 작용을 기반으로 변수를 반환해야합니다.MATLAB GUI에서 다른 함수로 데이터 전달
function init(hObject,handles)
imshow(handles.ima,'Parent',handles.axes1);
handles.current = handles.a;
% handles.ims=ims; handles.gt=gt;
% handles.folderN=folderN; handles.name=dirnames{folderN};
% Update handles structure
guidata(hObject, handles);
:
function Compare2ImagesGUI_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to Compare2ImagesGUI (see VARARGIN)
% Choose default command line output for Compare2ImagesGUI
%handles.output = hObject;
a = varargin{2}.a;
b = varargin{2}.b;
handles.a = a;
handles.b = b;
handles.ima = varargin{2}.ims{a};
handles.imb = varargin{2}.ims{b};
init(hObject,handles);
% UIWAIT makes Compare2ImagesGUI wait for user response (see UIRESUME)
uiwait(hObject);
이는 init 함수입니다 : 여기
a=1;b=2;
handles.a = a;
handles.b = b;
result = Compare2ImagesGUI('DistanceOrderGUI', handles)
그리고이 열릴 때 무엇을한다 : 여기
는 a를Compare2ImagesGUI
가 호출되는 방법의 조각입니다
사용자가 상호 작용을 마치면 버튼을 누르고 GUI
닫고 그 호출 함수에 값을 반환해야합니다 :이 코드는 그럼에도 불구하고 나는이 이상한 오류가 그것에 대해 무엇을해야하는지에 정말 우둔 오전 here 및 here을 발견 구조화하는 방법에 대한 지시를 따라
% --- Executes on button press in pushbutton3.
function pushbutton3_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton3 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
figure1_CloseRequestFcn(hObject,handles);
% --- Outputs from this function are returned to the command line.
function varargout = Compare2ImagesGUI_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{1} = handles.current
delete(handles.Compare2ImagesGUI);
% --- Executes when user attempts to close figure1.
function figure1_CloseRequestFcn(hObject, handles)
% hObject handle to figure1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
if isequal(get(hObject,'waitstatus'),'waiting')
uiresume(hObject);
else
delete(hObject);
end
:
Error using hg.uicontrol/get
The name 'waitstatus' is not an accessible property for an instance of
class 'uicontrol'.
Error in Compare2ImagesGUI>figure1_CloseRequestFcn (line 127)
if isequal(get(hObject,'waitstatus'),'waiting')
Error in Compare2ImagesGUI>pushbutton3_Callback (line 118)
figure1_CloseRequestFcn(hObject,handles);
Error in gui_mainfcn (line 96)
feval(varargin{:});
Error in Compare2ImagesGUI (line 42)
gui_mainfcn(gui_State, varargin{:});
Error in
@(hObject,eventdata)Compare2ImagesGUI('pushbutton3_Callback',hObject,eventdata,guidata(hObject))
Error using waitfor
Error while evaluating uicontrol Callback
줄 127은 function figure1_CloseRequestFcn(hObject, handles)
기능에 있습니다. 어떤 제안?
해결책이 효과가 있었습니까? – chappjc
네,'figure1_CloseRequestFcn'의 버전이 그것을 해결 했으므로 어떤 것이 작동하지 않았는지 궁금 할 것입니다. – chappjc