2015-02-02 2 views
1

현재 버튼을 클릭하면 직렬 포트를 연결하는 GUI를 만들려고합니다. 이 버튼은 클래스 생성자 메서드를 호출하고 다른 방법으로 호출되는 객체를 생성 할 때 다른 버튼 clicked.For 예 :Matlab Gui의 클래스 생성자

function button1_Callback(hObject, eventdata, handles) 
    val1=get(handles.edittext1,value); 
    val1=get(handles.edittext1,value); 
    exmple = Example(val1,val2);%connects to serial and creates object 
    %which allows to send data to port 
    function slider1_Callback(hObject, eventdata, handles) 
    x=get(handles.slider1,value); 
    exmple.setVal(s); 

그래서 내가이 작업을 수행 할 수 있습니까?

답변

0

GUI 내의 함수간에 변수를 공유하려면 guidata을 사용해야합니다. 내 경험에 의하면, 가장 좋은 방법은 다음과 같습니다

  • 은 GUI_OpeningFcn의 변수를 초기화 :

    handles.exmpl = []; 
    guidata(hObject, handles); % update handles 
    
  • 당신의 button_CallbackFcn에서 : slider_CallbackFcn에서

    handles.exmpl = Example(val1, val2); 
    guidata(hObject, handles); 
    
  • :

    handles.exmpl.setVal(x); 
    guidata(hObject, handles);