MATLABでいくつかの条件をチェックする独自の関数を作成したいが、そこにhandles
を送信する方法がわからない。最後に、この他の機能からGUIにテキストをいくつか印刷したいと思います。この関数ではhandles.t1
を直接使用することはできません。これは、関数内からアクセスできないためです。どうすればそれを渡すことができますか?「ハンドル」を使用してGUIDE GUI内の自分の関数でテキストを印刷
function y = check(tab)
if all(handles.tab == [1,1,1])
set(handles.t1, 'String', 'good');
else
set(handles.t1, 'String', 'bad');
end
end
編集
コメントと最初の答えの後、私は私が私の関数を呼び出す、全体のコールバックを置くことにしました:
function A_Callback(hObject, eventdata, handles)
if handles.axesid ~= 12
handles.axesid = mod(handles.axesid, handles.axesnum) + 1;
ax = ['dna',int2str(handles.axesid)];
axes(handles.(ax))
matlabImage = imread('agora.jpg');
image(matlabImage)
axis off
axis image
ax1 = ['dt',int2str(handles.axesid)];
axes(handles.(ax1))
matlabImage2 = imread('tdol.jpg');
image(matlabImage2)
axis off
axis image
handles.T(end+1)=1;
if length(handles.T)>2
check(handles.T(1:3))
end
end
guidata(hObject, handles);
「自分の機能」はもっと曖昧になりますか?これはプログラム的なGUIの一部ですか? GUIDE GUI?ランダムMATLAB関数?クラス定義?スクリプト?この関数はどのように呼び出されますか?参照:[mcve] – excaza
はい、これはGUIDEのGUIです。私が "私自身の関数"を書く時、私はそれがコールバック関数とは違うと思った。この関数は "check"と呼ばれ、配列に "if"と同じ値があるかどうかをチェックします。私が必要とするのは、私自身の宣言された関数で "handles(whatever_here)"をどのように使うことができるかという知識です。 – soommy12