Main Content

uiprogressdlg

진행률 대화 상자 생성

설명

d = uiprogressdlg(fig)는 Figure fig에 확정 진행률 대화 상자를 표시하고 ProgressDialog 객체를 반환합니다. Figure는 uifigure 함수를 사용하여 작성해야 합니다.

예제

d = uiprogressdlg(fig,Name,Value)Name,Value 인수를 사용하여 ProgressDialog 속성값을 지정합니다. 속성값을 사용하여 대화 상자의 모양과 동작을 제어할 수 있습니다. 예를 들어, 대화 상자에 제목이나 메시지를 추가하거나 불확정 진행률 표시줄을 지정할 수 있습니다.

예제

모두 축소

Figure와 진행률 대화 상자를 생성하는 myprogress1.m이라는 프로그램 파일을 만듭니다. 코드의 세 지점에서 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

Progress dialog box with title "Please Wait" and text "Loading your data". The progress bar length is about 1/3 of the full length.

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

Progress dialog box with title "Computing SVD" and an indeterminate progress bar

Figure를 생성하고 pi의 근삿값을 계산하면서 진행률 표시줄을 표시하는 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이면 프로그램이 루프를 종료합니다. 마지막으로 close(d) 명령은 for 루프가 완료되거나 사용자가 취소하면 대화 상자를 닫습니다.

프로그램을 실행하여 pi의 근삿값을 계산하고 진행률 대화 상자를 표시합니다.

myprogress3

Progress dialog box with title "Approximating Pi". The dialog box text is an approximation of pi, and the progress bar length is a fraction of the full length.

사용자 지정 아이콘을 지정하고 HTML을 사용해 메시지 텍스트의 서식을 지정하여 진행률 대화 상자의 모양을 수정합니다.

Figure를 생성하고 진행률 표시줄을 표시하는 myprogress4.m이라는 프로그램 파일을 만듭니다. 이미지 파일을 대화 상자 아이콘으로 지정한 다음 대화 상자에서 메시지 텍스트를 HTML로 해석하도록 지정합니다. winter 컬러맵을 사용하여 RGB 색 값으로 구성된 행렬을 만듭니다. for 루프를 사용하여 진행률 표시줄 값을 업데이트하고 HTML 마크업을 사용하여 메시지 색의 서식을 지정하고 표시합니다. 루프가 완료되면 대화 상자를 닫습니다.

function myprogress4
    fig = uifigure;
    d = uiprogressdlg(fig,'Icon','peppers.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

Progress dialog box with an image of some peppers 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 Properties 항목을 참조하십시오.

분수 완료율로, 01 사이의 숫자로 지정됩니다. 값이 1일 때 진행률 표시줄이 전체 길이에 도달합니다. 코드의 여러 지점에서 Value를 변경하여 실행 중인 앱의 진행률을 시각적으로 표시할 수 있습니다.

데이터형: double

메시지로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 이 메시지는 대화 상자 내에, 진행률 표시줄 위에 표시됩니다.

여러 줄로 된 텍스트를 표시하려면 문자형 벡터로 구성된 셀형 배열 또는 string형 배열을 지정하십시오. 배열 내 각 요소는 텍스트의 한 줄에 해당합니다. 각 요소 내에서 '\n'과 같은 강제 줄 바꿈을 사용하면 추가 텍스트 줄이 생성됩니다.

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

제목으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 제목은 대화 상자의 제목 표시줄에 표시됩니다.

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

불확정 진행률로, 'off' 또는 'on'이나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

이 속성을 'on'으로 설정하면 구체적인 진행률 정보가 없는 애니메이션 표시줄이 제공됩니다. 이 애니메이션은 계산에 시간이 얼마나 걸릴지 알 수 없을 때 유용합니다.

불확정 진행률 표시줄이 무한정 표시되지 않게 하려면 계산을 완료한 후 close 함수를 호출하십시오.

취소 허용 여부로, 'off' 또는 'on'이나 숫자형 값 또는 논리값 1(true) 또는 0(false)으로 지정됩니다. 값 'on'true와 동일하고 값 'off'false와 동일합니다. 따라서 이 속성의 값을 논리값으로 사용할 수 있습니다. 값은 matlab.lang.OnOffSwitchState 유형의 on/off 논리값으로 저장됩니다.

값을 'on'으로 지정하면 대화 상자에 취소 버튼이 표시됩니다. CancelText 속성을 지정하여 버튼 레이블을 사용자 지정할 수 있습니다.

취소를 허용할 때는 CancelRequested 속성값을 확인하고, 값이 true인 경우 close 함수를 호출해야 합니다. 그러지 않으면 대화 상자가 무한정 표시됩니다.

대화 상자 텍스트 인터프리터로, 다음 값 중 하나로 지정됩니다.

  • 'none' — 리터럴 문자를 표시합니다.

  • 'tex' — TeX 마크업의 서브셋을 사용하여 텍스트를 해석합니다.

  • 'latex' — LaTeX 마크업의 서브셋을 사용하여 텍스트를 해석합니다.

  • 'html' — HTML 마크업의 서브셋을 사용하여 텍스트를 해석합니다.

TeX 마크업

TeX 마크업을 사용하여 위 첨자와 아래 첨자를 추가하고 텍스트에 특수 문자를 포함시킬 수 있습니다.

수정자는 텍스트의 끝까지 적용됩니다. 단, 위 첨자와 아래 첨자는 바로 다음에 오는 문자나 중괄호 안에 있는 문자만 수정합니다. 인터프리터를 '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}글꼴 색 — specifierred, green, yellow, magenta, blue, black, white, gray, darkGreen, orange, lightBlue 색 중 하나로 바꿉니다.'\color{magenta} text'
\color[rgb]{specifier}사용자 지정 글꼴 색 — specifier를 요소를 3개 가진 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 요소특성설명
astyle, target, href, title하이퍼링크
abbrstyle, title약어 또는 머리글자어
addressstyle연락처 정보
articlestyle자체 충족형 독립적 콘텐츠
asidestyle메인 콘텐츠에 간접적으로 관련된 콘텐츠
bstyle굵은 텍스트
bdistyle, dir주변 텍스트와 다른 방향으로 형식 지정된 콘텐츠
bdostyle, dir주변 텍스트와 다른 방향으로 형식 지정된 콘텐츠
bigstyle주변 텍스트보다 글꼴이 한 치수 큰 텍스트(HTML5에서 사용 중단)
blockquotestyle, cite긴 인용구
brn/a줄 바꿈
captionstyle테이블의 캡션 또는 제목
centerstyle가운데로 수평 정렬된 콘텐츠
citestyle저작물의 제목
codestyle코드의 일부
colstyle, align, valign, span, width테이블 내의 열
colgroupstyle, align, valign, span, width테이블 내의 열 그룹
ddstyle설명 목록의 용어 또는 값
delstyle, datetime문서에서 삭제된 텍스트
detailsstyle, open'open' 상태로 토글될 때만 텍스트가 표시되는 대화형 위젯
dlstyle설명 목록
dtstyle설명 목록의 용어 또는 값
emstyle강조된 텍스트(보통 기울임꼴로 표시)
fontstyle, color, size, face지정된 폰트 속성을 가진 텍스트(HTML5에서 사용 중단)
footerstyle푸터
h1. h2, h3, h4, h5, h6style섹션 소제목 — 가장 높은 수준의 소제목은 <h1>, 가장 낮은 수준의 소제목은 <h6>
headerstyle소개 콘텐츠
hrstyle주제 변경 선
istyle주변 콘텐츠로부터 텍스트 구분 — 디폴트 값: 기울임꼴
insstyle, datetime문서에 삽입된 텍스트
listyle목록 내 항목
markstyle표시 또는 강조 표시된 텍스트
olstyle정렬된 목록
pstyle단락
prestyle서식이 설정된 텍스트
sstyle취소선이 있는 텍스트
strikestyle취소선이 있는 텍스트(HTML5에서 사용 중단)
sectionstyle독립형 섹션
smallstyle주변 텍스트보다 글꼴이 한 치수 작은 텍스트(HTML5에서 사용 중단)
substyle아래 첨자
supstyle위 첨자
strongstyle중요하게 강조된 텍스트
tablestyle, width, border, align, valign테이블
tbodystyle, align, valign테이블 본문
tdstyle, width, rowspan, colspan, align, valign테이블 데이터 셀
tfootstyle, align, valign테이블 열을 요약하는 테이블 행 세트
thstyle, width, rowspan, colspan, align, valign셀 그룹의 제목으로 지정된 테이블 데이터 셀
theadstyle, align, valign열 제목을 지정하는 테이블 행 세트
trstyle, rowspan, align, valign테이블 셀의 행
ttstyle고정 폭 텍스트(HTML5에서 사용 중단)
ustyle명확하지는 않으나 주의를 주는 텍스트 - 기본값: 밑줄
ulstyle정렬되지 않은 목록

이러한 요소에 대한 자세한 내용은 https://developer.mozilla.org/en-US/docs/Web/HTML/Element 항목을 참조하십시오.

HTML 마크업을 사용하여 MATLAB 코드를 실행하는 하이퍼링크를 만들려면 함수를 실행하는 하이퍼링크 만들기 항목을 참조하십시오.

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 항목을 참조하십시오.

  • 진행률 대화 상자를 만들 때는 출력 인수를 지정하여 ProgressDialog 객체를 변수로 저장하십시오. 이 객체를 사용해 속성을 설정하여 대화 상자를 만든 후에 대화 상자를 업데이트하고 delete 함수를 사용하여 대화 상자를 삭제할 시기를 관리할 수 있습니다.

버전 내역

R2018a에 개발됨

모두 확장

참고 항목

함수

속성