2013-06-28 2 views
0

Я создал графический интерфейс GUI с использованием приложения GUID Matlabs, по сути, моя проблема проста, у меня есть текстовое поле, где я хочу ввести данные, и кнопку, которую я хочу отобразить, что значение, введенное внутри текстовое поле, текстовое поле определяют какmatlab function handle inside 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, теперь 44 хранится внутри элемента «Value» из hObject для этой функции.

Теперь я хочу, чтобы вывести это значение, когда кнопка нажата

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 распечатать данные), проблема в том .... Я получаю сообщение об ошибке, в котором говорится: «Преобразование в double из функции function_handle невозможно». , не должен ли я называть «get» с помощью дескриптора функции, который указывает на мою более раннюю функцию, спасибо за любую помощь!

ответ

1

Я хотел бы пойти на

get(handles.edit1,'value') 

Всего ваш uicontrols хранится в ручках. Зная тег вашего uicontrol (для вашего поля редактирования, я думаю, это edit1), вы можете получить ручки этого объекта с handles.edit1.

Вы можете даже написать

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

нет, вот далеко, спасибо за попробовать хотя – physicsguy