Main Content

uiprogressdlg

進行状況ダイアログ ボックスの作成

説明

d = uiprogressdlg(fig) は、Figure fig の確定型進行状況ダイアログ ボックスを表示し、ProgressDialog オブジェクトを返します。この Figure は関数 uifigure を使用して作成されていなければなりません。

d = uiprogressdlg(fig,Name,Value) は、Name,Value の引数を使用して ProgressDialog プロパティ値を指定します。プロパティの値を使用して、ダイアログ ボックスの外観と動作を制御します。たとえば、タイトルまたはメッセージをダイアログ ボックスに追加したり、不確定型進行状況バーを指定したりできます。

すべて折りたたむ

Figure と進行状況ダイアログ ボックスを作成する myprogress1.m と呼ばれるプログラム ファイルを作成します。コード内の 3 つの異なる点にある Value プロパティと Message プロパティを更新します。

function myprogress1
    fig = uifigure;
    d = uiprogressdlg(fig,'Title','Please Wait',...
        'Message','Opening the application');
    pause(.5)

    % Perform calculations
    % ...
    d.Value = .33; 
    d.Message = 'Loading your data';
    pause(1)

    % Perform calculations
    % ...
    d.Value = .67;
    d.Message = 'Processing the data';
    pause(1)

    % Finish calculations
    % ...
    d.Value = 1;
    d.Message = 'Finishing';
    pause(1)

    % Close dialog box
    close(d)
end

進行状況ダイアログ ボックスを表示するプログラムを実行します。

myprogress1

特異値分解中に Figure を作成し、不確定型進行状況バーを表示する myprogress2.m と呼ばれるプログラム ファイルを作成します。

function myprogress2
    fig = uifigure;
    d = uiprogressdlg(fig,'Title','Computing SVD',...
        'Indeterminate','on');
    drawnow
    
    % Do the SVD computation
    svd(rand(5000));

    % close the dialog box
    close(d)
end

Indeterminate プロパティを 'on' に設定すると、進行状況バーがアニメーション化されて、予測された完了時間がないことを示します。計算が完了した後、関数 close はダイアログ ボックスを閉じます。

特異値分解を実行し、進行状況ダイアログ ボックスを表示するプログラムを実行します。

myprogress2

pi の値の近似中に、Figure を作成し、進行状況バーを表示する myprogress3.m という名前のプログラム ファイルを作成します。

function myprogress3
    fig = uifigure;
    d = uiprogressdlg(fig,'Title','Approximating Pi',...
        'Message','1','Cancelable','on');
    drawnow

    % Approximate pi^2/8 as: 1 + 1/9 + 1/25 + 1/49 + ...
    pisqover8 = 1;
    denom = 3;
    valueofpi = sqrt(8 * pisqover8);
    steps = 20000;
    for step = 1:steps 
        % Check for Cancel button press
        if d.CancelRequested
            break
        end
        % Update progress, report current estimate
        d.Value = step/steps;
        d.Message = sprintf('%12.9f',valueofpi);

        % Calculate next estimate
        pisqover8 = pisqover8 + 1 / (denom * denom);
        denom = denom + 2;
        valueofpi = sqrt(8 * pisqover8);
    end

    % Close the dialog box
    close(d)
end

Cancelable プロパティを 'on' に設定すると、既定のラベル [キャンセル] の付いたキャンセル ボタンが作成されます。for ループの最初のコマンドは d.CancelRequested の値をチェックして、ユーザーがキャンセル ボタンをクリックしたかどうかを確認します。値が true の場合、プログラムはループを終了します。最後に、for ループが終了した後、またはユーザーがキャンセルした後に、close(d) コマンドがダイアログ ボックスを閉じます。

Pi を近似して進行状況ダイアログ ボックスを表示するプログラムを実行します。

myprogress3

カスタム アイコンを指定し、HTML を使用してメッセージ テキストを書式設定することで、進行状況ダイアログ ボックスの外観を変更します。

Figure を作成し、進行状況バーを表示する myprogress4.m という名前のプログラム ファイルを作成します。イメージ ファイルをダイアログ ボックス アイコンとして指定してから、ダイアログ ボックスがそのメッセージ テキストを HTML として解釈するように指定します。winter カラーマップを使用して RGB カラー値の行列を作成します。for ループを使用して進行状況バーの値を更新し、HTML マークアップを使用してメッセージの色を書式設定し表示します。ループが完了したらダイアログ ボックスを閉じます。

function myprogress4
    fig = uifigure;
    d = uiprogressdlg(fig,'Icon','membrane.png', ...
        'Interpreter','html');

    steps = 100;
    cmap = winter(steps)*100;
    for step = 1:steps
        r = num2str(cmap(step,1));
        g = num2str(cmap(step,2));
        b = num2str(cmap(step,3));
        msg = ['<p style=color:rgb(' r '%,' g '%,' b '%)> Calculating... </p>'];
        d.Message = msg;
        d.Value = step/steps;
        pause(0.05);
    end

    close(d)
end

進行状況ダイアログ ボックスを表示するプログラムを実行します。

myprogress4

A progress dialog box with an icon of the MathWorks logo and a message that says "Calculating..." in blue text.

入力引数

すべて折りたたむ

ターゲット Figure。Figure オブジェクトとして指定します。この Figure は関数 uifigure で作成されていなければなりません。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: d = uiprogressdlg(uifigure,'Value',0.25)

メモ

ここでは、プロパティの一部だけを紹介しています。完全な一覧については、ProgressDialog のプロパティ を参照してください。

完了率。01 の数値として指定します。この値が 1 のとき、進行状況バーは最大長に達しています。コードの複数の箇所で Value を変更すると、実行中のアプリの進行状況を視覚的に表示できます。

データ型: double

メッセージ。文字ベクトル、文字ベクトルの cell 配列、または string 配列として指定します。このメッセージは、ダイアログ ボックス内にある進行状況バーの上に表示されます。

複数行のテキストを表示するには、文字ベクトルの cell 配列または string 配列を指定します。配列の各要素は、テキストの行に対応します。各要素のハード ブレイク ('\n' など) はテキストの追加行を作成します。

例: d = uiprogressdlg(uifigure,'Message','Calculating result.');

タイトル。文字ベクトルまたは string スカラーとして指定します。このタイトルはダイアログ ボックスのタイトル バーに表示されます。

例: d = uiprogressdlg(uifigure,'Title','Calculating');

不確定型進行状況。'off' または 'on' もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

このプロパティを 'on' に設定すると、アニメーション化されたバーが表示されますが、進行状況に関する具体的な情報は表示されません。このアニメーションは、計算にかかる時間がわからない場合に便利です。

不確定型進行状況バーが無期限に表示されないようにするには、計算の完了後に関数 close を呼び出します。

キャンセルの許可。'off' または 'on' もしくは数値または logical 1 (true) または 0 (false) として指定します。'on' の値は true と等価であり、'off'false と等価です。したがって、このプロパティの値を logical 値として使用できます。値は matlab.lang.OnOffSwitchState 型の on/off logical 値として格納されます。

値を 'on' に指定すると、ダイアログ ボックスにキャンセル ボタンが表示されます。CancelText プロパティを指定すると、ボタン ラベルをカスタマイズできます。

キャンセルを許可する場合、CancelRequested プロパティの値を確認して、値が true のときに関数 close を呼び出さなければなりません。それ以外の場合、ダイアログ ボックスは無期限に表示されます。

ダイアログ テキストのインタープリター。次のいずれかとして指定します。

  • 'none' — リテラル文字を表示します。

  • 'tex' — TeX マークアップのサブセットを使用してテキストを解釈します。

  • 'latex' — LaTeX マークアップのサブセットを使用してテキストを解釈します。

  • 'html' — HTML マークアップのサブセットを使用してテキストを解釈します。

TeX マークアップ

TeX マークアップを使用して、上付き文字や下付き文字の追加、テキストへの特殊文字の挿入を行うことができます。

修飾子の効果はテキストの末尾まで適用されます。上付き文字と下付き文字は例外であり、次の 1 文字または中かっこで囲まれた文字にのみ適用されます。インタープリターを 'tex' に設定した場合にサポートされる修飾子は次のとおりです。

修飾子説明
^{ }上付き文字'text^{superscript}'
_{ }下付き文字'text_{subscript}'
\bf太字フォント'\bf text'
\itイタリック フォント'\it text'
\sl斜体フォント (通常はイタリック フォントと同じ)'\sl text'
\rm標準フォント'\rm text'
\fontname{specifier}フォント名 — specifier をフォント ファミリの名前に置き換えます。これは他の修飾子と組み合わせて使用できます。'\fontname{Courier} text'
\fontsize{specifier}フォント サイズ — specifier をポイント単位の数値スカラーに置き換えます。'\fontsize{15} text'
\color{specifier}フォントの色 — specifier を、redgreenyellowmagentablueblackwhitegraydarkGreenorangelightBlue の色のいずれかに置き換えます。'\color{magenta} text'
\color[rgb]{specifier}フォントのカスタムの色 — specifier を RGB 3 成分に置き換えます。'\color[rgb]{0,0.5,0.5} text'

次の表に、'tex' インタープリターでサポートされる特殊文字を示します。

文字列記号文字列記号文字列記号

\alpha

α

\upsilon

υ

\sim

~

\angle

\phi

ϕ

\leq

\ast

*

\chi

χ

\infty

\beta

β

\psi

ψ

\clubsuit

\gamma

γ

\omega

ω

\diamondsuit

\delta

δ

\Gamma

Γ

\heartsuit

\epsilon

ϵ

\Delta

Δ

\spadesuit

\zeta

ζ

\Theta

Θ

\leftrightarrow

\eta

η

\Lambda

Λ

\leftarrow

\theta

θ

\Xi

Ξ

\Leftarrow

\vartheta

ϑ

\Pi

Π

\uparrow

\iota

ι

\Sigma

Σ

\rightarrow

\kappa

κ

\Upsilon

ϒ

\Rightarrow

\lambda

λ

\Phi

Φ

\downarrow

\mu

µ

\Psi

Ψ

\circ

º

\nu

ν

\Omega

Ω

\pm

±

\xi

ξ

\forall

\geq

\pi

π

\exists

\propto

\rho

ρ

\ni

\partial

\sigma

σ

\cong

\bullet

\varsigma

ς

\approx

\div

÷

\tau

τ

\Re

\neq

\equiv

\oplus

\aleph

\Im

\cup

\wp

\otimes

\subseteq

\oslash

\cap

\in

\supseteq

\supset

\lceil

\subset

\int

\cdot

·

\o

ο

\rfloor

\neg

¬

\nabla

\lfloor

\times

x

\ldots

...

\perp

\surd

\prime

´

\wedge

\varpi

ϖ

\0

\rceil

\rangle

\mid

|

\vee

\langle

\copyright

©

LaTeX マークアップ

LaTeX マークアップを使用して、数式、方程式、特殊文字を書式設定して表示します。ドル記号を使用してマークアップ テキストを囲みます。たとえば、インライン モードでは '$\int_1^{20} x^2 dx$'、表示モードでは '$$\int_1^{20} x^2 dx$$' を使用します。

テキストは LaTeX の既定のフォント スタイルで表示され、フォント スタイルは LaTeX マークアップを使用して変更できます。

MATLAB® では、大半の標準の LaTeX 数式モード コマンドがサポートされています。詳細については、サポートされる LaTeX コマンドを参照してください。

HTML マークアップ

HTML マークアップは、リンクの表示やフォント スタイルのカスタマイズに使用します。

インタープリターは HTML マークアップのサブセットをサポートします。一般的なガイドラインとして、インタープリターはテキスト関連のタグとスタイルをサポートします。サポートされないタグとスタイルは無視されます。

次の表に、サポートされる要素と要素の属性を一覧します。

HTML 要素属性説明
astyletargethreftitleハイパーリンク
abbrstyletitle略語または頭字語
addressstyle連絡先情報
articlestyle自己完結した単独のコンテンツ
asidestyle主な内容に間接的に関連するコンテンツ
bstyle太字フォント
bdistyledir周囲のテキストとは異なる方向で書式設定されるコンテンツ
bdostyledir周囲のテキストとは異なる方向で書式設定されるコンテンツ
bigstyle周囲のテキストよりフォント サイズが 1 レベル大きいテキスト (HTML5 では旧式)
blockquotestylecite拡張された引用
brN/A改行
captionstyleテーブルのキャプションまたはタイトル
centerstyle水平方向に中央揃えされたコンテンツ
citestyle参照先のタイトル
codestyleコードのフラグメント
colstylealignvalignspanwidthテーブル内の列
colgroupstylealignvalignspanwidthテーブル内の列のグループ
ddstyle説明リストの用語または値
delstyledatetimeドキュメントから削除されたテキスト
detailsstyleopen'開いた' 状態に切り替えた場合にのみテキストが表示される対話型ウィジェット
dlstyle説明リスト
dtstyle説明リストの用語または値
emstyle強調表示されるテキスト (通常、イタリックで表示)
fontstylecolorsizeface指定したフォント プロパティのテキスト (HTML5 では旧式)
footerstyleフッター
h1h2h3h4h5h6styleセクション見出し — <h1> が見出しの最上位、<h6> が最下位
headerstyle導入コンテンツ
hrstyle主題の区切り
istyle周囲のコンテンツからのテキスト オフセット — 既定の設定ではイタリックとしてレンダリングされる
insstyledatetimeドキュメントに挿入されたテキスト
listyleリスト内の項目
markstyleマークアップ テキストまたは強調表示されたテキスト
olstyle順序付きリスト
pstyle段落
prestyle書式設定済みテキスト
sstyle取り消し線付きのテキスト
strikestyle取り消し線付きのテキスト (HTML5 では旧式)
sectionstyle独立したセクション
smallstyle周囲のテキストよりフォント サイズが 1 レベル小さいテキスト (HTML5 では旧式)
substyle下付き文字
supstyle上付き文字
strongstyle重要度が高いテキスト
tablestylewidthborderalignvalignテーブル
tbodystylealignvalignテーブル本体
tdstylewidthrowspancolspanalignvalignテーブル データ セル
tfootstylealignvalignテーブル列をまとめる一連のテーブル行
thstylewidthrowspancolspanalignvalignセルのグループのヘッダーとして指定されたテーブル データ セル
theadstylealignvalign列見出しを指定する一連のテーブル行
trstylerowspanalignvalignテーブル セルの行
ttstyle固定幅テキスト (HTML5 では旧式)
ustyle非言語的注釈を使用するテキスト — 既定の設定では下線としてレンダリングされる
ulstyle順序なしリスト

これらの要素の詳細については、https://developer.mozilla.org/en-US/docs/Web/HTML/Elementを参照してください。

HTML スタイル属性を使用して HTML コンテンツを書式設定できます。スタイル属性は CSS 属性とその値の文字列です。

以下の CSS 属性がサポートされています。

  • background-color

  • border-bottom

  • border-bottom-color

  • border-bottom-left-radius

  • border-bottom-right-radius

  • border-bottom-style

  • border-bottom-width

  • border-left

  • border-left-color

  • border-left-style

  • border-left-width

  • border-radius

  • border-right

  • border-right-color

  • border-right-style

  • border-right-width

  • border-spacing

  • border-style

  • border-top

  • border-top-color

  • border-top-left-radius

  • border-top-right-radius

  • border-top-style

  • border-top-width

  • border-width

  • color

  • direction

  • font-family

  • font-size

  • font-style

  • font-weight

  • height

  • hidden

  • line-height

  • margin

  • margin-bottom

  • margin-left

  • margin-right

  • margin-top

  • max-height

  • max-width

  • min-height

  • min-width

  • overflow

  • overflow-wrap

  • overflow-x

  • overflow-y

  • padding

  • padding-bottom

  • padding-left

  • padding-right

  • padding-top

  • text-align

  • text-anchor

  • text-decoration

  • text-indent

  • text-overflow

  • text-shadow

  • text-transform

  • title

  • translate

  • white-space

  • width

これらの属性の詳細については、https://developer.mozilla.org/en-US/docs/Web/CSS/Referenceを参照してください。

バージョン履歴

R2018a で導入

すべて展開する