GUI向けに作成したm-file内部のコールバック関数を別のm-fileスクリプトから呼び出す事はできますか?
3 views (last 30 days)
Show older comments
Matlabで作成したGUIアプリの動作検証のために、ユニットテストのコードを書きたいと考えています。その場合、GUI向けに作成したm-file内に記入されているcallback関数の検証もしなければならないのですが、別のファイルからそれらを呼び出す事は可能でしょうか?
2 Comments
michio
on 17 Jul 2018
GUIアプリはどのように作成されたものでしょうか。GUIDE で作成されたものであれば (例:exampleGUI.m)
exampleGUI('exampleCallback');
と、コールバック関数 (例:exampleCallback)を呼び出すことも可能です。
Accepted Answer
michio
on 18 Jul 2018
参考までですが、ローカル関数を実行する方法として、GUIDEから生成された関数の冒頭部分に以下の記述を確認いただけると思います。(以下は R2018a で生成した exampleGUI.m 場合)
% EXAMPLEGUI.m('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in EXAMPLEGUI.M with the given input arguments.
特に入力が必要で無ければ
exampleGUI('exampleCallback');
入力引数が必要であれば、'exampleCallback' に続けて
exampleGUI('exampleCallback',var1, var2, var3);
と指定することができます。hObject, eventdata など GUIDE のオブジェクトをローカル関数内で使用している場合には、、(すいません、手元に適切なGUIが無いため推測になりますが)
figh = exampleGUI;
exampleGUI('exampleCallback',figh.Children(1), var2, var3);
など一度 GUI のオブジェクトを作成しておいて実施するなど、もしかしたら可能かもしれません。
More Answers (0)
See Also
Categories
Find more on 対話型コントロールとコールバック in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!