uipushtool
ツール バーにプッシュ ツールを作成
説明
は、現在の Figure のツール バーにプッシュ ツールを作成し、pt
= uipushtoolPushTool
オブジェクトを返します。
現在の Figure は関数 figure
で作成されたものでなければなりません。現在の Figure が子ツール バーを持たない場合、MATLAB® は親として機能する現在の Figure にこれを作成します。関数 figure
を使用して作成された Figure が存在しない場合、MATLAB はこれを作成して関数 uitoolbar
を呼び出し、親として機能するツール バーを作成します。
プッシュ ツールは、プッシュ ボタンと同じように動作します。クリックすると、マウス ボタンが離れるまで押し下げられたままになります。
は、1 つ以上の名前と値のペアの引数を使用して指定されたプロパティ値をもつプッシュ ツールを作成します。前述の構文のいずれかを使用して、名前と値のペアを指定します。pt
= uipushtool(___,Name,Value
)
例
UI Figure ツール バーへのプッシュ ツールの作成
関数 uifigure
を呼び出して UI figure を作成します。UI figure にツール バーを作成します。
fig = uifigure; tb = uitoolbar(fig);
ツール バーにプッシュ ツールを追加します。プッシュ ツールには既定のアイコンが表示されます。
pt = uipushtool(tb);
Icon
プロパティの値をイメージ ファイル greencircleicon.gif
に設定して、プッシュ ツールにアイコンを追加します。
pt.Icon = fullfile(matlabroot,'toolbox','matlab','icons','greencircleicon.gif');
Figure の新規ツール バーにおけるプッシュ ツールの作成
関数 figure
を呼び出し、Figure を作成します。Figure にツール バーを追加します。Figure の既定のツール バーの下に表示されます。
f = figure; tb = uitoolbar(f);
ツール バー内にプッシュ ツールを作成します。インデックス付きイメージ ファイル matlabicon.gif
から新しいアイコンを読み取ります。インデックス付きイメージを RGB トゥルーカラー イメージ配列に変換します。トゥルーカラー イメージ配列に CData
プロパティを設定し、アイコンをプッシュ ツールに追加します。
pt = uipushtool(tb); [img,map] = imread(fullfile(matlabroot,... 'toolbox','matlab','icons','matlabicon.gif')); ptImage = ind2rgb(img,map); pt.CData = ptImage;
Figure の既定のツール バーにおけるプッシュ ツールの作成
プッシュ ツールを Figure の既定のツール バーに追加して、既定のツール バーを変更します。
関数 figure
を呼び出し、Figure を作成します。
f = figure;
Figure の中にあり、タイプが 'uitoolbar'
であるオブジェクトをすべて検索し、既存のツール バーのハンドルを取得します。
defaultToolbar = findall(f,'Type','uitoolbar')
defaultToolbar = Toolbar (FigureToolBar) with properties: Children: [0×0 GraphicsPlaceholder]
既存のツール バーにプッシュ ツールを作成します。そのアイコンとして、ランダムな RGB 値の 16×16×3 の配列を作成します。この配列に CData
プロパティを設定し、アイコンをプッシュ ツールに追加します。
pt = uipushtool(defaultToolbar); ptImage = rand(16,16,3); pt.CData = ptImage;
UI Figure ツール バーにおけるカラー ピッカー プッシュ ツールの作成
クリックすると、uisetcolor
ダイアログ ボックスを開くプッシュ ツールを作成します。UI figure の背景色をカラー ピッカーで選択した色に変更します。
まず、colorPickerPushTool.m
というプログラム ファイルを作成します。プログラム ファイル内で次を行います。
UI figure を作成します。
UI figure にツール バーを作成します。
ツール バー内にプッシュ ツールを作成します。
Icon
プロパティの値をpaintbrush.gif
のフル ファイル パスに設定して、プッシュ ツールに適切なアイコンを追加します。プッシュ ツールのツールヒントを作成します。
colorToolClicked
というコールバック関数を参照するClickedCallback
プロパティを関数ハンドルに設定します。colorToolClicked
というコールバック関数を作成します。そこで、関数uisetcolor
を呼び出して、ツール バーのプッシュ ツールをクリックするとカラー ピッカー ダイアログが開くようにします。カラー ピッカーの既定の色を UI figure の色に設定し、カラー ピッカーのタイトルに'Select UI Figure Color'
と指定します。UI figure を現在の Figure にします。これにより、他のすべての Figure の上に表示されるようになります。
function colorPickerPushTool fig = uifigure('Position',[350 500 400 300]); tb = uitoolbar(fig); pt = uipushtool(tb); pt.Icon = fullfile(matlabroot,'toolbox','matlab','icons','paintbrush.gif'); pt.Tooltip = 'Change UI Figure Color'; pt.ClickedCallback = @colorToolClicked; function colorToolClicked(src,event) c = uisetcolor(fig,'Select UI Figure Color'); figure(fig) end end
colorPickerPushTool
を実行します。プッシュ ツールをクリックしてカラー ピッカーを開きます。次に、色を選択して UI figure の背景色を変更します。
colorPickerPushTool
入力引数
parent
— 親ツール バー
Toolbar
オブジェクト
親ツール バー。Toolbar
オブジェクトとして指定します。このプロパティを使用して、プッシュ ツールの作成時に親ツール バーを指定したり、既存のツールを別のツール バーに移動したりします。
親ツール バーが指定されていない場合、MATLAB はプッシュ ツールを現在の Figure のツール バーに作成します。現在の Figure は関数 figure
で作成されたものでなければなりません。現在の Figure に子ツール バーがない場合、MATLAB は親として機能する現在の Figure にこれを作成します。MATLAB は、Figure の既定のツール バーにプッシュ ツールを作成しません。
関数 figure
を使用して作成された Figure が存在しない場合、MATLAB はこれを作成して関数 uitoolbar
を呼び出し、親として機能するツール バーを作成します。
複数のプッシュ ツールまたはトグル ツールをツール バーに追加した場合、作成した順に左から右に追加されます。
名前と値の引数
引数のオプションのペアを Name1=Value1,...,NameN=ValueN
として指定します。ここで Name
は引数名で、Value
は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。
R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name
を引用符で囲みます。
例: 'Separator','on'
は区切りのライン モードを 'on'
に設定します。
メモ
ここでは、プロパティの一部だけを紹介しています。完全な一覧については、PushTool のプロパティを参照してください。
Icon
— アイコンのソースまたはファイル
''
(既定値) | 文字ベクトル | string スカラー | m
×n
×3 のトゥルーカラー イメージ配列
アイコンのソースまたはファイル。文字ベクトル、string スカラー、または m
×n
×3 のトゥルーカラー イメージ配列として指定します。文字ベクトルまたは string スカラーには、MATLAB パス上のイメージ ファイル名、あるいはイメージ ファイルへの絶対パスを指定できます。他のユーザーとアプリを共有する予定の場合は、アプリのパッケージ化を容易にするためにイメージ ファイルを MATLAB パス上に配置します。サポートされるイメージの形式には JPEG、PNG、GIF、および SVG があります。
m
×n
×3 の配列を指定すると、トゥルーカラー イメージ配列として解釈されます。トゥルーカラー イメージ配列の詳細については、イメージの種類を参照してください。
指定するイメージが 16×16 ピクセルよりも大きい場合、Icon
プロパティはそのイメージをスケール ダウンしてツール内に収まるようにします。指定するイメージが 16×16 ピクセルよりも小さい場合、使用できるスペースに合わせるスケール アップは行われません。
Icon
プロパティは App Designer と uifigure
ベースのアプリでのみサポートされます。Icon
プロパティと CData
プロパティが共に指定されている場合、CData
プロパティは無視されます。
例: 'icon.png'
は MATLAB パス上のイメージ ファイルを指定します。
例: 'C:\Documents\icon.png'
は、イメージ ファイルへの絶対パスを指定します。
CData
— イメージ配列
[]
(既定値) | m
×n
×3 のトゥルーカラー イメージ配列
イメージ配列。m
×n
×3 のトゥルーカラー イメージ配列として指定します。配列の値は以下のいずれかになります。
0.0
~1.0
の倍精度値0
~255
のuint8
値
イメージがクリップされたり歪みが発生するのを避けるため、m
および n
が 16 以下の配列を指定します。イメージがクリップされると、配列の中央の 16 行 16 列の部分のみが使用されます。
メモ
App Designer および uifigure
ベースのアプリでは、代わりに Icon
プロパティを使用してプッシュ ツールとトグル ツールのアイコンを指定します。
Separator
— 区切りのライン モード
'off'
(既定値) | on/off logical 値
区切りのライン モード。'off'
または 'on'
、もしくは数値または logical 0
(false
) または 1
(true
) として指定します。'on'
の値は true
と等価であり、'off'
は false
と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState
型の on/off logical 値として格納されます。
このプロパティを 'on'
に設定すると、ツール バーのツールの左に境界線が描画されます。
ヒント
Toolbar
オブジェクト (およびその子PushTool
オブジェクトおよびToggleTool
オブジェクト) は、WindowStyle
プロパティが'modal'
に設定されている Figure には表示されません。ツール バーの子を含む Figure のWindowStyle
が'modal'
に変更された場合、ツール バーの子は Figure のChildren
プロパティに依然として存在します。ただし、WindowStyle
が'modal'
に設定されている間、このツール バーは表示されません。UIControl
プッシュ ボタンと異なり、プッシュ ツールは 2 回目のクリックで Figure のSelectionType
プロパティを'open'
に設定しません。
バージョン履歴
R2006a より前に導入R2020b: カスタム アイコンの指定
App Designer で作成されたアプリ、および関数 uifigure
を使用して作成されたアプリでは、カスタム アイコンをプッシュ ツールに追加するには、Icon
プロパティを設定します。Icon
プロパティをイメージ ファイルとして、または m
×n
×3 のトゥルーカラー配列として指定できます。
Icon
プロパティは CData
プロパティよりも推奨されます。
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)