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からdoubleへの変換」というエラーが表示されます不可能です。" 、以前の関数を指す関数ハンドルを使用して「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 に答える