tk_messageBox — 메시지 창 띄우고 사용자 응답 기다리기

tk_messageBox — 메시지 창 띄우고 사용자 응답 기다리기

삭제 확인이나 종료 확인처럼, 사용자에게 선택을 물어야 할 때가 있어요. tk_messageBox는 응용이 지정한 메시지와 아이콘, 버튼 한 묶음을 가진 메시지 창을 만들고 표시해서 사용자의 응답을 기다리게 하는 절차입니다.

출처: tk_messageBox (Tcl/Tk 8.6.18 매뉴얼)

본문

개요

tk_messageBox ?option value ...?

동작 방식

이 절차는 응용이 지정한 메시지, 아이콘, 버튼 한 묶음이 있는 메시지 창을 만들고 표시합니다. 메시지 창의 각 버튼은 고유한 기호 이름으로 식별돼요(-type 옵션 참조). 메시지 창이 뜬 뒤 tk_messageBox는 사용자가 버튼 하나를 고를 때까지 기다렸다가, 선택된 버튼의 기호 이름을 돌려줍니다.

다음 option-value 쌍이 지원됩니다.

-command string — 사용자가 대화상자를 닫을 때 호출할 Tcl 명령의 프리픽스를 지정합니다. 실제 명령은 string 뒤에 공백과 사용자가 대화상자를 닫기 위해 클릭한 버튼의 이름이 붙은 형태예요. macOS에서만 사용할 수 있어요.

-default namename이 이 메시지 창의 기본 버튼 기호 이름을 줍니다("ok", "cancel" 등). 기호 이름 목록은 -type을 참조해요. 지정하지 않으면 대화상자의 첫 번째 버튼이 기본이 됩니다.

-detail string-message 옵션이 주는 주 메시지에 대한 보조 메시지를 지정합니다. 메시지 세부 정보는 주 메시지 아래에, 운영체제가 지원하면 주 메시지보다 덜 강조된 글꼴로 표시돼요.

-icon iconImage — 표시할 아이콘을 지정합니다. iconImageerror, info, question, warning 중 하나여야 해요. 지정하지 않으면 info 아이콘이 표시됩니다.

-message string — 이 메시지 상자에 표시할 메시지를 지정합니다. 기본값은 빈 문자열이에요.

-parent windowwindow를 메시지 상자의 논리적 부모로 만듭니다. 메시지 상자는 부모 창 위에 표시돼요.

-title titleString — 메시지 상자 제목으로 표시할 문자열을 지정합니다. 기본값은 빈 문자열이에요.

-type predefinedType — 미리 정의된 버튼 한 묶음을 표시하도록 정합니다. predefinedType에 가능한 값은 다음과 같아요.

  • abortretryignore — 기호 이름이 abort, retry, ignore인 버튼 세 개를 표시.
  • ok — 기호 이름이 ok인 버튼 하나를 표시. 이것이 기본값.
  • okcancel — 기호 이름이 ok, cancel인 버튼 두 개를 표시.
  • retrycancel — 기호 이름이 retry, cancel인 버튼 두 개를 표시.
  • yesno — 기호 이름이 yes, no인 버튼 두 개를 표시.
  • yesnocancel — 기호 이름이 yes, no, cancel인 버튼 세 개를 표시.

예제

set answer [tk_messageBox -message "Really quit?" \
        -icon question -type yesno \
        -detail "Select \"Yes\" to make the application exit"]
switch -- $answer {
    yes exit
    no {tk_messageBox -message "I know you like this application!" \
            -type ok}
}

더 알아보기

  • message — 비상호작용 텍스트 위젯