나는 MATLAB의 컴퓨팅 프로그램 용 GUI에서 작업 해왔다. 그 프로그램은 객체 지향 방식으로 구현되어있다. 그래서 GUIDE에 의해 생성 된 GUI 코드를 클래스에 통합하여 적합성을 유지할 방법을 생각하고 있습니다.MATLAB의 GUIDE와 함께 객체 지향 프로그래밍 (OOP) 2014a
먼저 Stackoverflow를 검색하여 유사한 질문을 찾은 다음 Click이 하나 있습니다.
나는 그 대답에서 언급 한 방법을 시도하고 실패했다. 그래서 누구든지 내게 좀 더 자세한 내용을 줄 수 있었고 정말 도움이 될 것이라고 조언했다.
내 코드가 그렇게 orgnized된다
다음classdef A < handle
methods
function obj = A(varargin)
%some code
end
function Aplot(obj,varargin)
%some code
obj.fh = Aview(obj)
end
function varargout = Aview(varargin)
% this is the code generated by GUIDE in a seperate file
% associated with AView_OpeningFcn(hObject, eventdata, handles, varargin)
% and component(edit, popupmenu,etc) callback functions
end
나는 일반적으로 다음과 같이 윈도우의 모든 구성 요소 (buttion, PopupMenu로)에 대한 오류를 많이 가지고 : 입력
정의되지 않은 함수 'AView' 'char'형식의 인수 @에
오류 (hObject, EVENTDATA) AView ('popupmenu1_CreateFcn', hObject, EVENTDATA, guidata (hObject)
struct2handle
오류를 사용하여 오류 CreateFcn
을 uicontrol 평가하는 동안 어떻게 성공적으로 내가 할 수있는 A 클래스의 객체를 GUI 함수 AView 윈도우에 전달합니다. 객체 A 내부에 데이터 구조가 필요하면
미리 감사드립니다.
기타 의견 : GUIDE에서 생성 한 파일을 클래스 A에 복사하지 않았습니다. GUIDE 생성 파일을 A와 같은 이름의 @A 폴더에 넣으십시오. 이러한 방법으로, 가이드에 의해 생성 된 함수는
참조 클래스의 방법으로 관련됩니다 : 당신은 당신의 클래스 파일로 GUIDE 생성 된 코드를 복사 할 수 없습니다 http://www.mathworks.com/help/matlab/matlab_oop/specifying-methods-and-functions.html#brqy3km-15
잘 모르겠습니다. 안내 기능에서 수업에 코드를 복사 했습니까? – Trogdor
아니요, 이름이 @A 인 폴더를 만들었고이 폴더에 가이드 생성 파일을 넣어두면 GUIDE로 만든 함수가 클래스 A의 메서드로 간주됩니다. reference : search "Separate Files in Methods "mathwork 웹 사이트 – Risheng