2013-06-28 4 views
0

Matlabs GUID 응용 프로그램을 사용하여 GUI 레이아웃을 만들었습니다. 본질적으로 내 문제는 간단합니다. 데이터를 입력 할 텍스트 상자가 있고 그 값을 표시하려는 누름 버튼이 있습니다. 이 시점에서 matlab 함수 gui 내부 처리

function edit1_Callback(hObject, eventdata, handles) 
% hObject handle to edit1 (see GCBO) 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
myString = get(hObject, 'String') 
set(hObject,'Value',str2num(myString)); 

, 나 텍스트 박스에 어떤 수치를 입력 한 텍스트 박스가 상기 텍스트 박스가 규정되며, 이제 44이 함수 hObject의 "값"요소 내에 저장된다 (44)라고 할 수 있습니다. 버튼이 내가 가지고 있겠지 때문에 내가 (일부 결과가 나타납니다이 마지막 줄에 ^^^

function pushbutton1_Callback(hObject, eventdata, handles) 
% hObject handle to pushbutton1 (see GCBO) 
% eventdata reserved - to be defined in a future version of MATLAB 
% handles structure with handles and user data (see GUIDATA) 
fHandle = @edit1_Callback 
get(fHandle,'Value') 

을 밀어 때

는 지금은 출력이 값을 원하는 ";"MATLAB 밖으로 인쇄 할 수있는 데이터), 문제는 .... 나는 "function_handle에서 이중 변환이 불가능합니다."라는 오류가 발생합니다. , shouldnt 나는 "get"함수 핸들을 사용하여 내 이전 함수, 어떤 도움을 주셔서 감사합니다!

답변

1

나는 당신의 모든 uicontrols가 핸들에 저장됩니다

get(handles.edit1,'value') 

갈 것입니다. Uicontrol의 태그를 알고 있으면 (편집 상자의 경우 이것은 edit1입니다) handles.edit1으로이 객체의 핸들을 가져올 수 있습니다.

당신은

my_value = get(handles.edit1,'Value'); 
+0

쓸 수없고, 해제 방법 이잖아는하지만 시도 주셔서 감사합니다 – physicsguy