MATLAB Answers

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

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

Accepted Answer

MathWorks Support Team
MathWorks Support Team on 25 Oct 2021 at 4:00
Edited: MathWorks Support Team on 25 Oct 2021 at 21:29
注意
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)

Tags

Products

Community Treasure Hunt

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

Start Hunting!