이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

inputdlg

사용자 입력값을 수집하는 대화 상자 생성

설명

예제

answer = inputdlg(prompt)는 하나 이상의 텍스트 편집 필드를 갖는 모달 대화 상자를 생성하고 사용자가 입력한 값을 반환합니다. 반환 값은 문자형 벡터로 구성된 셀형 배열의 요소입니다. 셀형 배열의 첫 번째 요소는 대화 상자의 상단에 있는 편집 필드의 응답 변수에 대응합니다. 두 번째 요소는 다음 편집 필드의 응답 변수 등에 대응합니다.

예제

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

예제

answer = inputdlg(prompt,dlgtitle,dims)dims가 스칼라 값인 경우 각 편집 필드의 높이를 지정합니다. dims가 배열이면 각 배열 요소의 첫 번째 값이 편집 필드의 높이를 설정합니다. 각 배열 요소의 두 번째 값은 편집 필드의 너비를 설정합니다.

예제

answer = inputdlg(prompt,dlgtitle,dims,definput)은 각 편집 필드의 디폴트 값을 지정합니다. definput 입력 인수는 prompt와 동일한 요소 개수를 포함해야 합니다.

예제

answer = inputdlg(prompt,dlgtitle,dims,definput,opts)opts'on'으로 설정된 경우 대화 상자를 가로 방향으로 크기 조정할 수 있음을 지정합니다. opts가 구조체이면 대화 상자를 가로 방향으로 크기 조정할 수 있는지 여부, 대화 상자가 모달인지 여부, prompt 텍스트가 해석되는지 여부를 지정합니다.

예제

모두 축소

사용자로부터 정수와 컬러맵 이름을 받는 2개의 텍스트 편집 필드를 포함하는 대화 상자를 생성합니다.

prompt = {'Enter matrix size:','Enter colormap name:'};
dlgtitle = 'Input';
dims = [1 35];
definput = {'20','hsv'};
answer = inputdlg(prompt,dlgtitle,dims,definput)

x = inputdlg({'Name','Telephone','Account'},...
              'Customer', [1 50; 1 12; 1 7]); 

options 구조체에 값을 지정하여 대화 상자를 생성합니다.

options 구조체를 사용하여 TeX을 인터프리터로 지정합니다.

prompt = {'Enter a value of \theta (in degrees)'};
dlgtitle = 'Theta Value';
definput = {'30'};
opts.Interpreter = 'tex';
answer = inputdlg(prompt,dlgtitle,[1 40],definput,opts);

사용자는 inputdlg 텍스트 편집 필드에 스칼라 값이나 벡터 값을 입력할 수 있습니다.MATLAB®은 입력값을 문자형 벡터로 구성된 셀형 배열로 저장합니다. str2num을 사용하여 입력 셀형 배열의 구성원을 숫자로 변환합니다.

사용자에게 숫자형 데이터를 입력하라고 안내하는 입력 대화 상자를 생성합니다.

answer = inputdlg('Enter space-separated numbers:',...
             'Sample', [1 50])

사용자가 1 2 3 4 -5 6+7을 입력하고 확인(OK)을 클릭하면 MATLAB은 이것을 문자형 벡터로 구성된 셀형 배열, 즉 {'1 2 3 4 -5 6+7'}로 저장합니다.

str2num을 사용하여 셀형 배열을 숫자형 값으로 변환합니다.

user_val = str2num(answer{1})
user_val =

     1     2     3     4    -5    13

입력 인수

모두 축소

텍스트 편집 필드 레이블로, 문자형 벡터, 문자형 벡터로 구성된 셀형 배열 또는 string형 배열로 지정됩니다. 셀형 배열과 string형 배열의 경우, 각 요소가 하나의 편집 필드 레이블을 지정합니다. 셀형 배열과 string형 배열 모두 대화 상자의 편집 필드를 위에서 아래 순으로 지정합니다.

예: {'First Name','Last Name'}

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

예: 'Data'

텍스트 편집 필드의 높이와 너비(치수)로, 다음 값 중 하나로 지정됩니다.

  • dims가 스칼라 값인 경우에는 모든 편집 필드의 높이를 지정합니다. 높이는 텍스트의 두 줄의 기준선 간 거리입니다. 모든 편집 필드의 너비는 대화 상자에서 허용하는 최댓값입니다.

  • dims가 열 벡터나 행 벡터인 경우에는 각 요소는 대화 상자의 위에서 아래 순으로 대응하는 각 편집 필드의 높이를 지정합니다. 모든 편집 필드의 너비는 대화 상자에서 허용하는 최댓값입니다.

  • dims가 배열인 경우에는 크기가 mx2여야 합니다. 여기서 m은 대화 상자의 프롬프트 개수입니다. 각 행은 대응하는 프롬프트의 편집 필드를 나타냅니다. 첫 번째 열은 편집 필드의 높이를 지정하며, 텍스트의 라인이 단위입니다. 두 번째 열은 해당 편집 필드의 너비를 지정하며, 단위는 문자입니다. 하나의 문자 단위 너비는 시스템 글꼴을 사용했을 때 문자 x의 너비와 같습니다.

참고

한 가지 경우를 제외하고, 편집 필드의 높이와 너비는 사용자가 입력할 수 있는 텍스트의 양을 제한하지 않습니다. 편집 필드의 높이가 1인 경우에는 사용자가 여러 줄의 텍스트를 입력할 수 없습니다.

예: 2

예: [1;2]

예: [1 50; 2 10]

디폴트 입력값 또는 입력값들로, 문자형 벡터로 구성된 셀형 배열로 지정되거나 string형 배열로 지정됩니다.

예: {'Color','1'}

대화 상자 설정으로, 'on' 또는 구조체로 지정됩니다. opts'on'으로 설정된 경우, 사용자는 대화 상자를 가로 방향으로 크기 조정할 수 있습니다. opts가 구조체인 경우, 구조체 필드가 다음 표에 있는 옵션을 지정합니다.

필드

Resize

'off'(디폴트 값) 또는 'on'. 'off'로 설정된 경우, 사용자는 대화 상자를 크기 조정할 수 없습니다. 'on'으로 설정된 경우, 사용자는 대화 상자를 가로 방향으로 크기 조정할 수 있습니다.

WindowStyle

'modal'(디폴트 값) 또는 'normal'. 'modal'로 설정된 경우, 사용자는 응답하기 전에 다른 창과 상호 작용할 수 없습니다.

Interpreter

'none'(디폴트 값) 또는 'tex'. 'tex'으로 설정된 경우, 프롬프트는 TeX을 사용하여 렌더링됩니다. 대화 상자 제목은 영향을 받지 않습니다.

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

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

다음 표에는 Interpreter 속성이 '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

©

예: 'on'

예: opts.Resize = 'on'

예: opts.WindowStyle = 'normal'

예: opts.Interpreter = 'tex'

출력 인수

모두 축소

대화 상자의 맨 위에서 시작하여 편집 필드 하나당 하나의 입력값을 갖는 문자형 벡터로 구성된 셀형 배열을 반환합니다. str2num 함수를 사용하여 공백으로 구분된 값과 쉼표로 구분된 값을 행 벡터로 변환하고 세미콜론으로 구분된 값을 열 벡터로 변환합니다. 예제는 입력값을 숫자형 값으로 변환하기 항목을 참조하십시오.

사용자가 대화 상자를 닫기 위해 취소(Cancel) 버튼을 클릭한 경우, answer는 비어 있는 셀형 배열인 { }이 됩니다.

사용자가 대화 상자를 닫기 위해 키보드의 Return 키를 누른 경우, answerdefinput의 값입니다. definput이 정의되지 않은 경우, answer는 비어 있는 셀형 배열인 { }이 됩니다.

세부 정보

모두 축소

모달 대화 상자

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

  • 모달 입력 대화 상자가 활성 상태일 때도 MATLAB 프로그램은 계속 실행됩니다. 사용자가 응답할 때까지 프로그램 실행을 차단하려면 uiwait 함수를 사용하십시오.

사용자는 입력 대화 상자에 스칼라 값이나 벡터 값을 입력할 수 있습니다. 공백으로 구분된 값과 쉼표로 구분된 값을 행 벡터로 변환하고 세미콜론으로 구분된 값을 열 벡터로 변환하려면 str2num을 사용하십시오. 예를 들어, answer{1}'1 2 3;4 -5 6+7i'를 포함하는 경우, 변환 결과는 다음과 같습니다.

input = str2num(answer{1})
input =
   1.0000     2.0000     3.0000
   4.0000    -5.0000     6.0000 + 7.0000i

참고 항목

|

R2006a 이전에 개발됨