0

我使用 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”,感谢您的帮助!

4

1 回答 1

1

我会去

get(handles.edit1,'value')

您所有的 uicontrol 都存储在句柄中。知道您的 uicontrol 的标签(对于您的编辑框,我猜这是edit1),您可以使用handles.edit1.

你甚至可以写

my_value = get(handles.edit1,'Value');
于 2013-06-28T07:45:54.433 回答