Main Content

questdlg

질문 대화 상자 생성하기

설명

참고

앱 디자이너 및 uifigure 함수로 만든 앱에서는 uiconfirm이 추가적인 사용자 지정 옵션을 제공하기 때문에 questdlg보다 권장됩니다.

answer = questdlg(quest)는 질문을 제시하고 사용자의 응답('Yes', 'No', 'Cancel' 또는 '')을 반환하는 모달 대화 상자를 생성합니다.

기본적으로 이 대화 상자에는 , 아니요, 취소로 레이블이 지정된 3개의 표준 버튼이 있습니다.

  • 사용자가 이러한 버튼 중 하나를 클릭할 경우 answer 값은 누른 버튼의 레이블과 같습니다.

  • 대화 상자의 제목 표시줄에 있는 닫기 버튼(X)을 클릭하거나 Esc 키를 누르면 answer 값은 빈 문자형 벡터(' ')가 됩니다.

  • Return 키를 누를 경우 answer 값은 디폴트로 선택된 버튼의 레이블과 같습니다. 이 경우에는 'Yes'입니다.

answer = questdlg(quest,dlgtitle)은 대화 상자 제목을 지정합니다.

answer = questdlg(quest,dlgtitle,defbtn)은 사용자가 키보드의 Return 키를 누를 때 디폴트 버튼이 되는 버튼을 지정합니다. defbtn 값은 버튼 레이블 중 하나와 일치해야 합니다.

answer = questdlg(quest,dlgtitle,btn1,btn2,defbtn)은 표준 버튼 중 두 개를 btn1 값과 btn2 값으로 레이블을 지정하여 사용자 지정합니다. 세 번째 표준 버튼은 제거됩니다. defbtn 값은 btn1 값 또는 btn2 값과 일치해야 합니다.

사용자가 키보드의 Return 키를 눌렀을 때 defbtn 값이 버튼 레이블 중 하나와 일치하지 않으면 대화 상자는 열린 상태로 계속 남아 있습니다.

예제

answer = questdlg(quest,dlgtitle,btn1,btn2,btn3,defbtn)은 세 번째 표준 버튼을 btn3 값과 일치하는 레이블로 사용자 지정합니다.

answer = questdlg(quest,dlgtitle,opts)는 디폴트 버튼 선택을 지정하고, TeX을 사용하여 질문 텍스트를 해석할지 여부를 지정하는 options 구조체를 지정합니다.

answer = questdlg(quest,dlgtitle,btn1,btn2,opts)는 두 개의 표준 버튼을 btn1 값 및 btn2 값과 일치하는 레이블을 사용하여 사용자 지정합니다. 세 번째 표준 버튼은 제거됩니다.

예제

answer = questdlg(quest,dlgtitle,btn1,btn2,btn3,opts)는 세 번째 표준 버튼을 btn3 값과 일치하는 레이블로 사용자 지정합니다.

예제

모두 축소

3개의 사용자 지정 버튼이 있는 질문 대화 상자를 생성합니다. 사용자가 클릭하는 버튼에 따라 dessert 변수에 다른 값을 할당합니다.

answer = questdlg('Would you like a dessert?', ...
	'Dessert Menu', ...
	'Ice cream','Cake','No thank you','No thank you');
% Handle response
switch answer
    case 'Ice cream'
        disp([answer ' coming right up.'])
        dessert = 1;
    case 'Cake'
        disp([answer ' coming right up.'])
        dessert = 2;
    case 'No thank you'
        disp('I''ll bring you your check.')
        dessert = 0;
end

Question dialog box with title "Dessert Menu". The dialog box has a question mark icon with text "Would you like a dessert?" and option buttons labeled "Ice cream", "Cake", and "No thank you". The "No thank you" button is highlighted.

dessert에 할당된 반환 값에 액세스하기 위해 예제를 함수로 저장합니다. 예를 들어, 코드의 첫 번째 라인에 다음 행을 입력하여 함수 choosedessert를 생성합니다.

function dessert = choosedessert

opts.Interpreter = 'tex';
% Include the desired Default answer
opts.Default = 'Don''t know';
% Use the TeX interpreter to format the question
quest = 'Is \Sigma(\alpha - \beta) < 0?';
answer = questdlg(quest,'Boundary Condition',...
                  'Yes','No','Don''t know',opts)

Question dialog box with title "Boundary Condition". The dialog box contains a question mark icon, a formatted equation, and option buttons labeled "Yes", "No", and "Don't know". The "Don't know" button is highlighted.

입력 인수

모두 축소

대화 상자 질문으로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 질문이 대화 상자에 맞게 자동으로 줄 바꿈 처리됩니다.

예: 'What is the velocity?'

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

예: 'Configuration'

디폴트 버튼 선택으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 디폴트 버튼 선택은 사용자가 대화 상자에서 버튼을 클릭하지 않고 키보드의 Return 키를 누르는 경우에 MATLAB®이 반환하는 값입니다. 디폴트 선택은 대화 상자 버튼 레이블 중 하나와 동일해야 합니다. 사용자가 키보드의 Enter 키를 눌렀을 때 defbtn 인수 값이 버튼 레이블과 일치하지 않는다면 대화 상자는 열린 상태로 계속 남아 있습니다.

예: 'Cancel'

사용자 지정된 첫 번째 버튼 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: 'Start'

사용자 지정된 두 번째 버튼 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: 'Reset'

사용자 지정된 세 번째 버튼 레이블로, 문자형 벡터 또는 string형 스칼라로 지정됩니다.

예: 'Test'

대화 상자 설정으로, 구조체로 지정됩니다. 이 구조체는 어떤 버튼이 디폴트 버튼 선택인지를 지정하고 TeX을 사용하여 질문 텍스트를 해석할지 여부를 지정합니다.

opts 구조체는 이 표에 나와 있는 필드를 모두 포함해야 합니다. 이 구조체는 다른 필드를 추가로 포함할 수 있지만, questdlg에는 이러한 필드가 사용되지 않습니다.

필드

Default

디폴트 버튼 선택으로, 문자형 벡터 또는 string형 스칼라로 지정됩니다. 디폴트 선택은 대화 상자 버튼 레이블 중 하나와 동일해야 합니다.

디폴트 버튼은 사용자가 대화 상자 버튼을 클릭하지 않고 키보드의 Return 키를 누르는 경우에 MATLAB이 반환하는 버튼 값입니다.

Default 필드 값이 버튼 레이블 중 하나와 일치하지 않으면 대화 상자는 사용자가 키보드의 Enter 키를 누를 때 응답하지 않습니다.

Interpreter

'none'(디폴트 값) 또는 'tex'. 'tex'으로 설정된 경우, 프롬프트는 TeX을 사용하여 렌더링됩니다. 버튼 레이블과 대화 상자 제목에는 적용되지 않습니다.

TeX 마크업을 사용하여 위 첨자와 아래 첨자를 추가하고, 글꼴 유형과 색을 수정하며, question 텍스트에 특수 문자를 포함시킬 수 있습니다.

수정자는 텍스트의 끝까지 적용됩니다. 단, 위 첨자와 아래 첨자는 바로 다음에 오는 문자나 중괄호 안에 있는 문자만 수정합니다. 인터프리터를 '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

©

예: opts.Default = 'Cancel'

예: opts.Interpreter = 'tex'

세부 정보

모두 축소

모달 대화 상자

모달 대화 상자에서는 조작이 끝나기 전에 다른 MATLAB 창과 상호 작용을 할 수 없습니다.

버전 내역

R2006a 이전에 개발됨

참고 항목

|