Main Content

이 번역 페이지는 최신 내용을 담고 있지 않습니다. 최신 내용을 영문으로 보려면 여기를 클릭하십시오.

inputdlg

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

설명

예제

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

예제

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

예제

answer = inputdlg(prompt,dlgtitle,fieldsize)는 각 편집 필드의 크기를 지정합니다.

  • 모든 필드에 대해 균일한 높이를 설정하려면 fieldsize를 스칼라로 지정하십시오.

  • 각 필드의 높이와 너비를 개별적으로 설정하려면 fieldsize를 각 행이 하나의 필드에 대응되는 행렬로 지정하십시오.

예제

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

예제

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

예제

모두 축소

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

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

Input dialog box with two edits fields for entering matrix size and colormap name. OK and Cancel buttons appear below the edit fields.

서로 다른 너비의 편집 필드 세 개를 포함하는, 제목이 Customer인 입력 대화 상자를 만듭니다.

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

Input dialog box with three edit fields of different lengths for entering customer name, telephone number, and account number.

options 구조체를 사용하여 TeX 마크업으로 프롬프트를 렌더링하는 대화 상자를 만듭니다.

다음과 같이 지정하여 대화 상자의 옵션을 정의합니다.

  • \theta 문자 시퀀스를 포함하는 프롬프트

  • 대화 상자 제목

  • 디폴트 입력값 30

  • 텍스트 높이가 1 줄, 너비가 40 문자인 편집 필드

  • 인터프리터로 TeX 사용

그런 다음, 옵션을 지정하여 입력 대화 상자를 만듭니다.

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

Dialog box with one edit field that accepts a value of theta in degrees.

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

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

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

Input dialog box that prompts users to enter space-separated numbers in the edit field.

사용자가 1 2 3 4 -5 6+7을 입력하고 확인을 클릭하면 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'

텍스트 편집 필드의 높이와 너비로, 스칼라, 벡터 또는 행렬로 지정됩니다.

  • fieldsize가 스칼라 값인 경우에는 모든 편집 필드의 높이가 텍스트 줄 단위로 지정됩니다. 모든 편집 필드의 너비는 대화 상자에서 허용하는 최대 너비입니다.

  • fieldsize가 프롬프트 개수와 같은 개수의 요소를 갖는 열 벡터나 행 벡터인 경우에는 각 요소가 대화 상자의 위에서부터 차례로 각 편집 필드의 높이를 지정합니다. 모든 편집 필드의 너비는 대화 상자에서 허용하는 최대 너비입니다.

  • fieldsizem×2 행렬(m은 프롬프트의 개수임)인 경우 각 행이 각 프롬프트의 편집 필드의 크기를 나타냅니다. 첫 번째 열은 편집 필드의 높이를 텍스트 줄로 지정합니다. 두 번째 열은 이 편집 필드의 너비를 문자 수로 지정합니다. 한 문자 단위의 너비는 시스템 글꼴을 사용했을 때 문자 x의 너비와 같습니다.

참고

편집 필드의 높이가 1이면 사용자는 한 줄의 텍스트만 입력할 수 있습니다. 편집 필드의 높이가 그외 다른 값이면 사용자는 임의의 여러 줄의 텍스트를 입력할 수 있습니다.

예: 2는 대화 상자의 각 편집 필드의 높이를 두 줄의 텍스트로 지정합니다.

예: [1;2]는 첫 번째(맨 위) 편집 필드의 높이가 텍스트 한 줄이고 두 번째 편집 필드의 높이가 텍스트 두 줄임을 지정합니다.

예: [1 50; 2 10]은 첫 번째(맨 위) 편집 필드의 높이가 한 줄이고 너비가 50 문자이며 두 번째 편집 필드의 높이가 두 줄이고 너비가 10 문자임을 지정합니다.

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

예: {'Color','1'}

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

필드

Resize

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

WindowStyle

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

Interpreter

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

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

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

©

예: 'on'

예: opts.Resize = 'on'

예: opts.WindowStyle = 'normal'

예: opts.Interpreter = 'tex'

출력 인수

모두 축소

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

사용자가 대화 상자를 닫기 위해 취소 버튼을 클릭한 경우, 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 이전에 개발됨

참고 항목

|