【问题标题】:matlab function handle inside guigui内的matlab函数句柄
【发布时间】:2013-06-28 05:04:23
【问题描述】:

我使用 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 的 double 是不可能的。” ,我不应该能够使用指向我早期函数的函数句柄来调用“get”,感谢您的帮助!

【问题讨论】:

    标签: matlab user-interface


    【解决方案1】:

    我会去

    get(handles.edit1,'value')
    

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

    你甚至可以写

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-18
      • 2019-03-14
      • 2018-10-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多