mati里面的matlab函数句柄

时间:2013-06-28 05:04:24

标签: matlab user-interface

我使用Matlabs GUID应用程序创建了一个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存储在hObject的“Value”元素中,用于此函数。

现在我想在按下按钮时输出此值

 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的双倍是不可能的。“ ,我不能使用指向我早期功能的功能句柄来调用“get”,感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

我会去

get(handles.edit1,'value')

您的所有uicontrol都存储在手柄中。知道你的uicontrol的标签(对于你的编辑框我想这是edit1),你可以用handles.edit1得到这个对象的句柄。

你甚至可以写

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