Python

tkinter.messagebox — Tkinter 메시지 프롬프트

소스 코드: Lib/tkinter/messagebox.py


tkinter.messagebox 모듈은 널리 사용되는 구성을 위한 다양한 편의 메서드와 템플릿 기반 클래스를 제공합니다. 메시지 상자는 모달(modal) 방식이며, 사용자가 응답할 때까지 블록하며 응답에 따라 함수에 맞는 값을 반환합니다. show* 함수와 Message.show() 는 사용자가 누른 버튼의 기호적 이름을 문자열(예: OK 또는 YES)로 반환하고, ask* 함수는 bool 또는 None 을 반환합니다(각 함수의 자세한 내용은 아래를 참조하십시오). 일반적인 메시지 상자 스타일과 레이아웃은 다음과 같으나 이에 국한되지는 않습니다.

../_images/tk_msg.png
class tkinter.messagebox.Message(master=None, **options)

애플리케이션이 지정한 메시지, 아이콘 및 버튼 세트를 포함하는 메시지 창을 생성합니다. 메시지 창의 각 버튼은 고유한 심볼릭 이름으로 식별됩니다(참조: type 옵션).

다음 옵션이 지원됩니다:

command

사용자가 대화 상자를 닫을 때 호출할 함수를 지정합니다. 대화 상자를 닫기 위해 사용자가 클릭한 버튼의 이름이 인자로 전달됩니다. 이 기능은 macOS에서만 가능합니다.

default

이 메시지 창의 기본 버튼에 대한 기호적 이름(symbolic name ; 예: OK, CANCEL 등)을 지정합니다. 이 옵션이 명시되지 않으면 대화 상자의 첫 번째 버튼이 기본 버튼이 됩니다.

detail

message 옵션으로 제공된 기본 메시지에 대한 보조 메시지를 지정합니다. 상세 메시지는 기본 메시지 아래에 표시되며, OS에서 지원하는 경우보다 강조되지 않은 글꼴로 표시됩니다.

icon

표시할 아이콘 을 지정합니다. 이 옵션이 명시되지 않은 경우 INFO 아이콘이 표시됩니다.

message

이 메시지 상자에 표시할 메시지를 지정합니다. 기본값은 빈 문자열입니다.

parent

지정된 창을 메시지 상자의 논리적 부모로 설정합니다. 메시지 상자는 부모 창 위에 표시됩니다.

title

메시지 상자의 제목으로 표시할 문자열을 지정합니다. 이 옵션은 이러한 유형의 대화 상자에서 제목 사용을 금지하는 플랫폼 가이드라인에 따라 macOS에서는 무시됩니다.

type

표시할 미리 정의된 버튼 세트 를 설정합니다.

참고

Tk 8.6에서 command 옵션이 추가되었습니다.

show(**options)

메시지 창을 표시하고 사용자가 버튼 중 하나를 선택할 때까지 기다립니다. 그런 다음 선택된 버튼의 심볼릭 이름을 반환합니다. 키워드 인수는 생성자에서 지정된 옵션을 덮어쓸 수 있습니다.

정보 메시지 상자

tkinter.messagebox.showinfo(title=None, message=None, **options)

지정된 제목과 메시지가 포함된 정보 메시지 상자를 만들고 표시합니다.

경고 메시지 상자

tkinter.messagebox.showwarning(title=None, message=None, **options)

지정된 제목과 메시지가 포함된 경고 메시지 상자를 생성하고 표시합니다.

tkinter.messagebox.showerror(title=None, message=None, **options)

지정된 제목과 메시지가 포함된 에러 메시지 상자를 생성하고 표시합니다.

질문 메시지 상자

tkinter.messagebox.askquestion(title=None, message=None, *, type=YESNO, **options)

질문을 합니다. 기본적으로 YESNO 버튼을 표시합니다. 선택된 버튼의 심볼릭 이름을 반환합니다.

tkinter.messagebox.askokcancel(title=None, message=None, **options)

작업을 계속할지 묻습니다. OKCANCEL 버튼이 표시됩니다. 답변이 양호하면(ok) True 를, 그렇지 않으면 False 를 반환합니다.

tkinter.messagebox.askretrycancel(title=None, message=None, **options)

작업을 재시도할지 묻습니다. RETRYCANCEL 버튼이 표시됩니다. 응답이 재시도인 경우 True 를, 그렇지 않으면 False 를 반환합니다.

tkinter.messagebox.askyesno(title=None, message=None, **options)

질문을 합니다. YESNO 버튼이 표시됩니다. 답변이 예(yes)이면 True 를, 그렇지 않으면 False 를 반환합니다.

tkinter.messagebox.askyesnocancel(title=None, message=None, **options)

질문을 합니다. YES, NO, CANCEL 버튼이 표시됩니다. 답변이 예(yes)이면 True 를, 취소되면 None 을, 그 외의 경우 False 를 반환합니다.

버튼의 심볼릭 이름:

tkinter.messagebox.ABORT = 'abort'
tkinter.messagebox.RETRY = 'retry'
tkinter.messagebox.IGNORE = 'ignore'
tkinter.messagebox.OK = 'ok'
tkinter.messagebox.CANCEL = 'cancel'
tkinter.messagebox.YES = 'yes'
tkinter.messagebox.NO = 'no'

미리 정의된 버튼 세트:

tkinter.messagebox.ABORTRETRYIGNORE = 'abortretryignore'

심볼릭 이름이 ABORT, RETRY, IGNORE 인 세 개의 버튼을 표시합니다.

tkinter.messagebox.OK = 'ok'

심볼릭 이름이 OK 인 하나의 버튼을 표시합니다.

tkinter.messagebox.OKCANCEL = 'okcancel'

심볼릭 이름이 OKCANCEL 인 두 개의 버튼을 표시합니다.

tkinter.messagebox.RETRYCANCEL = 'retrycancel'

심볼릭 이름이 RETRYCANCEL 인 두 개의 버튼을 표시합니다.

tkinter.messagebox.YESNO = 'yesno'

심볼릭 이름이 YESNO 인 두 개의 버튼을 표시합니다.

tkinter.messagebox.YESNOCANCEL = 'yesnocancel'

심볼릭 이름이 YES, NO, CANCEL 인 세 개의 버튼을 표시합니다.

아이콘 이미지:

tkinter.messagebox.ERROR = 'error'
tkinter.messagebox.INFO = 'info'
tkinter.messagebox.QUESTION = 'question'
tkinter.messagebox.WARNING = 'warning'