GUIDE で、入力引数を与えられる GUI を作成するにはどうすればよいですか?

16 views (last 30 days)
MathWorks Support Team
MathWorks Support Team on 8 Feb 2018
GUIDE で GUI を作成しています。入力引数を与えられるような GUI にしたい場合、どのようにコードを編集すればよいか、教えてください。

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 25 Oct 2021
Edited: MathWorks Support Team on 25 Oct 2021
注意
GUIDE は将来のバージョンで削除される予定 です。
AppDesigner をご利用の場合は、以下の内容を参考にしてください。
・App Designer で作成したアプリに入​力引数を与えて起動で​きますか?
https://jp.mathworks.com/matlabcentral/answers/372666-app-designer
MATLAB では、GUI の OpeningFcn コールバックを変更することで入力引数を受け入れることができます。 GUI に入力する入力引数は、OpeningFcn コールバックの varargin 変数からアクセスできます。
プログラム内で、varargin 変数はセル配列です。
例えば、String という名前の構造体を GUI に入力し、その値を StaticText という Tag を持つスタティックテキストボックスに表示する例を考えます。
この場合、以下のように OpengFcn コールバックを記述します。
function samplegui_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to samplegui (see VARARGIN)
% Choose default command line output for samplegui
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes samplegui wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% 入力引数によって処理を変更
if nargin<4 | ~isstruct(varargin{1})
% GUI に入力引数が与えられなかった場合
set(handles.StaticText,'String','Default String') % デフォルトのテキストを表示
else
% GUIに入力引数が与えられた場合
set(handles.StaticText,'String',varargin{1}.String)
end
上記のように作成した GUI は、以下のようにコマンドから入力引数を与えることができます。
>> samplegui('Change String')
関連する内容が以下の URL からもご覧いただけます。
・GUIDE アプリでの UI コンポーネントの初期化
https://www.mathworks.com/help/matlab/migrate-guide-apps.html

More Answers (0)

Categories

Find more on GUIDE アプリの移行 in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!