このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
数字
ベースのアプリの作成と実行メモ
このトピックでは,関数数字
作者:郝晓晖,王先生アプリの作成方法を参照してください。
经
以以节で,このアプリの作物
アプリを作成せずに,このアプリを作成したコードを表示して実行する場合は,現在のフォルダーを書き込みアクセス権限をもつフォルダーに設定してください。以下のMATLAB®コマンドを実行して,コード例をコピーし,エディターで开きます。
COPYFILE(FullFile(Docroot,'techdoc'那“creating_guis”那...“例子”那“simple_gui2 * *’。)),fileattrib(“simple_gui2 * *’。那' + w ');编辑simple_gui2.m
関数ファイルを作成します(一連のMATLABコマンドが含まれる“スクリプトスクリプト”には,関数の定義が含まれません)。
MATLABプロンプトに。”编辑
“と入力します。
エディターの第1行に次のステートメントを入力します。
功能simple_gui2
この関数ステートメントの後に次のコメントを入力し,最後に空行を1行追加します(このコメントは帮助
コマンドの出力としてコマンドラインに表示されます)。
%simple_gui2从弹出菜单中选择数据集,然后单击其中一个绘图类型按钮。单击按钮%在轴上绘制所选数据。(在这里留下一条空白行)
ファイルファイルの最后ににある空空后结尾
ステートメントステートメント追加します。例では子关有关部が使使れている,この结尾
ステートメントステートメントが必要となりなり详细は,入れ子关节有关を参照してください。
そのファイルをユーザーの现处于ののフォルダーmatlabパス上にに保存ますます。
アプリのユーザーインターフェイス(UI)ののを作物成するは,ファイル内の结尾
ステートメントの前に以下のコードを追加します。
%创建并隐藏正在构造的UI。f =图(“可见”那“关闭”那“位置”[360500450285]);
关节有关部数字
の呼び出しによって,従来の图が作成され,以下のプロパティが設定されます。
可见
プロパティが“关闭”
にコンポーネント追さ后するにがます。
位置
プロパティは,スクリーン上のUIの位置とサイズを指定する4要素ベクトル(左端からの距離,下端からの距離、幅、高さ]に設定されます。既定の単位はピクセルです。
プッシュボタン,スタティックテキスト,ポップアップメニューおよび座標軸のコンポーネントをUIに作成します。
コードファイル内の数字
の呼び出しの后に次のをを追し,プッシュボタンコンポーネントを3つ作物成し。
%构造组件。hsurf = uicontrol ('风格'那“按钮”那...“字符串”那'冲浪'那“位置”, 315220, 70, 25);hmesh = uicontrol ('风格'那“按钮”那...“字符串”那'网'那“位置”, 315180, 70, 25);hcontour = uicontrol('风格'那“按钮”那...“字符串”那'轮廓'那“位置”, 315135, 70, 25);
各ステートメントは,一切のuicontrol
のプロパティ/値のペアを使用してプッシュボタンを次のように定義しています。
风格
プロパティで,uicontrol
がプッシュボタンであることを指定しています。
细绳
プロパティで,プッシュボタン冲浪
那网
および轮廓
にそれぞれラベルを指定します。
位置
プロパティでは,各プッシュボタンの位置とそのサイズを指定します。使用するのは(左端からの距離,下端からの距離、幅、高さ]です。プッシュボタンの既定の単位は,ピクセルです。
各uicontrol
の呼び出しは,作成したプッシュボタンのハンドルを返します。
プッシュボタンの定义に続いて,次のステートメントをコードファイルに追て,ポップアップメニューとテキストラベルをしステートメントはををを。ます。
htext = uicontrol('风格'那'文本'那“字符串”那'选择数据'那...“位置”, 325、90、60、15);hpopup = uicontrol ('风格'那'弹出菜单'那...“字符串”,{“高峰”那'膜'那'sinc'},...“位置”,[300,50,100,25]);
ポップアップメニューコンポーネントの细绳
プロパティでは细胞配列配列を使使て,ポップアップメニューの山峰
那膜
およびSinc
の3つの项目を指定ています。
テキストコンポーネントの细绳
プロパティでは,ユーザーへの指示を指定しています。
両方向コンポーネントの位置
プロパティで,各コンポーネントのサイズとを指定しています位置するのはます。
次のステートメントをコードファイルに追加して,座標軸を追加します。
ha =轴(“单位”那'像素'那“位置”[60200185]);
单位
プロパティにはピクセルを指定し,座标轴の単位を他のコンポーネントの単位と同じにします。
すべてのコンポーネントの定義に続けて,次の行をコードファイルに追加することで,座標軸を除くすべてのコンポーネントの中心を揃えます。
对齐([hsurf, hmesh、hcontour htext, hpopup),“中心”那“没有”);
对齐
コマンドに続けて,次のコマンドを追加します。
f.Visible ='在';
コードファイルは次のようになります。
功能simple_gui2%simple_gui2从弹出菜单中选择一个数据集,然后选择单击绘图类型的按钮之一。单击此按钮%在坐标轴上绘制选定的数据。%创建并隐藏正在构造的UI。f =图(“可见”那“关闭”那“位置”[360500450285]);%构造组件。hsurf = uicontrol ('风格'那“按钮”那“字符串”那'冲浪'那...“位置”, 315220, 70, 25);hmesh = uicontrol ('风格'那“按钮”那“字符串”那'网'那...“位置”, 315180, 70, 25);hcontour = uicontrol('风格'那“按钮”那...“字符串”那'轮廓'那...“位置”, 315135, 70, 25);htext = uicontrol('风格'那'文本'那“字符串”那'选择数据'那...“位置”, 325、90、60、15);hpopup = uicontrol ('风格'那'弹出菜单'那...“字符串”,{“高峰”那'膜'那'sinc'},...“位置”,[300,50,100,25]);ha =轴(“单位”那'像素'那“位置”[60200185]);对齐([hsurf, hmesh、hcontour htext, hpopup),“中心”那“没有”);%使UI可见。f.Visible ='在';结尾
コマンドラインで「simple_gui2
「とと力量しコードを実行ししポップアップからのデータセットのプッシュプッシュのクリックはできが,何も起こりん。がファイルに现处于しないため。
ポップアップメニューにより,プロットするデータを選択することができます。ユーザーがポップアップメニューにある3つのデータセットから1つを選択すると,MATLABソフトウェアでは,選択されたメニュー項目のインデックスがポップアップメニューの价值
プロパティに设定されます。ポップアップポップアップメニューのコールバック,ポップアップメニューの价值
プロパティを読み,现处于どのどの项目が表示されているかを判别,それに従ってcurrent_data.
を設定します。
ファイルに,以下のコールバックをを初,最后の结尾
ステートメントとの間に追加します。
%弹出菜单回调。读取弹出菜单的Value属性为%确定当前显示的项目,并将其设置为%当前数据。此回调会自动访问%current_data,因为此函数嵌套在较低级别。功能eventdata popup_menu_Callback(源)确定选定的数据集。str = source.String;val = source.Value;%将当前数据设置为所选数据集。转变str {val};情况下“高峰”%用户选择峰值。current_data = peaks_data;情况下'膜'%用户选择膜。current_data = membrane_data;情况下'sinc'%用户选择Sinc。current_data = sinc_data;结尾结尾
,current_data.
のデータをプロットします。それらそれら,下载レベルで入れ子になっいるためcurrent_data.
へのアクセスを自動的に行います。
ファイルファイル,以下のコールバックをメニューコールバックの后続け,最后の结尾
ステートメントとの間に追加します。
%按钮回调。每个回调绘图绘图current_data%指定绘图类型。功能eventdata surfbutton_Callback(源)%显示当前所选数据的冲浪图。冲浪(Current_data);结尾功能meshbutton_callback(源,eventData)%显示当前选定数据的网格图。网格(Current_data);结尾功能eventdata contourbutton_Callback(源)%显示当前所选数据的Contour图。轮廓(current_data);结尾
打回来
プロパティを使用して,各イベントに关连付けるコールバックの名前を指定します。
(冲浪)プッシュボタンを定义するuicontrol
ステートメントに対して,プロパティ/値のペアを追加します。
'打回来',{@ surfbutton_callback}
したがって,ステートメントは次のようになります。
hsurf = uicontrol ('风格'那“按钮”那“字符串”那'冲浪'那...“位置”[315,220,70,25],...'打回来', {@surfbutton_Callback});
打回来
は,プロパティの名前です。surfbutton_callback.
は(冲浪)プッシュボタンに情報を提供するコールバックの名前です。
(网)プッシュボタンを定义するuicontrol
ステートメントに対して,プロパティ/値のペアを追加します。
'打回来',@ meshbutton_callback.
[轮廓]プッシュボタンを定义するuicontrol
ステートメントに対して,プロパティ/値のペアを追加します。
'打回来',@ contourbutton_callback.
ポップアップメニューを定義するuicontrol
ステートメントに対して,プロパティ/値のペアを追加します。
'打回来', @popup_menu_Callback
詳細は,プログラムによって作成されたアプリのコールバックの記述を参照してください。
UIを初期化して,ウィンドウが表示されたときに使えるようにします。コンポーネントと图の単位を归一化
にが,Uiがしされる,コンポーネントもサイズさと,请uを正化と,コンポーネントを正规と,请uをサイズさ。隅が(0,0)
に,上右隅が(1.0, 1.0)
にマップされます。
エディターで,次のコードを
%使UI可见。f.Visible ='在';
以下のコードでます。
%初始化UI。归一化的%更改单元,因此组件自动调整大小。F.Units =.'标准化';哈哈。单位='标准化';hsurf。单位='标准化';hmesh.units =.'标准化';hcontour.units =.'标准化';htext。单位='标准化';hpopup。单位='标准化';%生成要绘图的数据。peaks_data =峰(35);Membrane_data =膜;[x,y] = meshgrid(-8:.5:8);r = sqrt(x。^ 2 + y。^ 2)+ eps;sinc_data = sin(r)./ r;%在轴上创建一个绘图。current_data = peaks_data;冲浪(Current_data);%分配一个名称以显示在窗口标题中。F.Name =.“简单的GUI”;%将窗口移动到屏幕的中心。Movegui(F,“中心”的)%使UI可见。f.Visible ='在';
コードが正しく作成されていることを確認し,実行します。
コードファイルが次のようになっていることを確認します。
功能simple_gui2%simple_gui2从弹出菜单中选择一个数据集,然后选择单击绘图类型的按钮之一。单击此按钮%在坐标轴上绘制选定的数据。%创建并隐藏正在构造的UI。f =图(“可见”那“关闭”那“位置”[360500450285]);%构造组件。hsurf = uicontrol ('风格'那“按钮”那...“字符串”那'冲浪'那“位置”[315,220,70,25],...'打回来', @surfbutton_Callback);hmesh = uicontrol ('风格'那“按钮”那...“字符串”那'网'那“位置”(315180、70、25),...'打回来',@ meshbutton_callback);hcontour = uicontrol('风格'那“按钮”那...“字符串”那'轮廓'那“位置”,[315,135,70,25],...'打回来',@ contourbutton_callback);htext = uicontrol('风格'那'文本'那“字符串”那'选择数据'那...“位置”, 325、90、60、15);hpopup = uicontrol ('风格'那'弹出菜单'那...“字符串”,{“高峰”那'膜'那'sinc'},...“位置”,[300,50,100,25],...'打回来', @popup_menu_Callback);ha =轴(“单位”那'像素'那“位置”[60200185]);对齐([hsurf, hmesh、hcontour htext, hpopup),“中心”那“没有”);%初始化UI。归一化的%更改单元,因此组件自动调整大小。F.Units =.'标准化';哈哈。单位='标准化';hsurf。单位='标准化';hmesh.units =.'标准化';hcontour.units =.'标准化';htext。单位='标准化';hpopup。单位='标准化';%生成要绘图的数据。peaks_data =峰(35);Membrane_data =膜;[x,y] = meshgrid(-8:.5:8);r = sqrt(x。^ 2 + y。^ 2)+ eps;sinc_data = sin(r)./ r;%在轴上创建一个绘图。current_data = peaks_data;冲浪(Current_data);%分配名称以显示在窗口标题中。F.Name =.“简单的GUI”;%将窗口移动到屏幕的中心。Movegui(F,“中心”的)%使窗口可见。f.Visible ='在';%弹出菜单回调。读取弹出菜单的Value属性为%确定当前显示的项目,并将其设置为%当前数据。此回调会自动访问%current_data,因为此函数嵌套在较低级别。功能eventdata popup_menu_Callback(源)确定选定的数据集。str =得到(来源,“字符串”);val = get(来源,'价值');%将当前数据设置为所选数据集。转变str {val};情况下“高峰”%用户选择峰值。current_data = peaks_data;情况下'膜'%用户选择膜。current_data = membrane_data;情况下'sinc'%用户选择Sinc。current_data = sinc_data;结尾结尾%按钮回调。每个回调绘图绘图current_data%指定绘图类型。功能eventdata surfbutton_Callback(源)%显示当前所选数据的冲浪图。冲浪(Current_data);结尾功能meshbutton_callback(源,eventData)%显示当前选定数据的网格图。网格(Current_data);结尾功能eventdata contourbutton_Callback(源)%显示当前所选数据的Contour图。轮廓(current_data);结尾结尾
コマンドラインで「simple_gui2
「とと力してアプリを行ししし初初により。山顶
データを关节冲浪
で处理した结果が表示されます.UIは次のような外観になります。
ポップアップメニューで,(膜)を選択してから,(网)ボタンボタンをクリックししますuは,MathWorks®L型膜ロゴのメッシュプロットを表示します。
UIを閉じる前に他のいくつかの組み合わせを試します。
コマンドラインに「帮助simple_gui2.
“と入力します。MATLABソフトウェアがヘルプ テキストを表示します。
帮助simple_gui2simple_gui2.选择一种数据放从这弹出菜单,然后点击一个的这绘图类型推纽扣。点击这按钮绘图这选择数据在这轴。