Tkinter 대화 상자¶
tkinter.simpledialog — 표준 Tkinter 입력 대화 상자¶
소스 코드: Lib/tkinter/simpledialog.py
tkinter.simpledialog 모듈에는 사용자로부터 값을 얻기 위한 간단한 모달 대화 상자를 생성하는 편의 클래스와 함수가 포함되어 있습니다.
- tkinter.simpledialog.askfloat(title, prompt, *, initialvalue=None, minvalue=None, maxvalue=None, parent=None, use_ttk=True)¶
- tkinter.simpledialog.askinteger(title, prompt, *, initialvalue=None, minvalue=None, maxvalue=None, parent=None, use_ttk=True)¶
- tkinter.simpledialog.askstring(title, prompt, *, initialvalue=None, show=None, parent=None, use_ttk=True)¶
사용자에게 원하는 유형의 값을 입력하도록 요청하고 해당 값을 반환하며, 대화 상자가 취소되면
None을 반환합니다.title 은 대화 상자 제목이며, prompt 는 입력란 위에 표시되는 메시지입니다. initialvalue 는 입력란에 처음에 배치되는 값입니다. parent 는 대화 상자가 표시되는 상위 창입니다.
askinteger()와askfloat()은 수락 가능한 값의 범위를 제한하는 minvalue 및 maxvalue 도 허용합니다.askstring()은 또한 비밀번호를 숨기기 위해'*'과 같이 입력된 텍스트를 마스킹하는 데 사용되는 문자 show 를 허용합니다. 이들은 테마 기반tkinter.ttk위젯을 사용하며, 클래식 위젯을 사용하려면use_ttk=False를 전달하십시오.
- class tkinter.simpledialog.Dialog(parent, title=None, *, use_ttk=False)¶
사용자 정의 대화 상즈를 위한 베이스 클래스입니다. 인스턴스화하면 대화 상자를 모달로 표시하며 사용자가 닫으면 반환하고, 입력된 값은
result속성에서 사용할 수 있습니다. use_ttk 가 거짓(기본값)일 때 대화 상자는 클래식tk_dialog를 모델로 한 클래식tkinter위젯으로 구축되며, 참일 때도는 Tk 메시지 박스를 모델로 한 테마 기반tkinter.ttk위젯으로 구축됩니다. 테마 위젯은body()에서 추가되는 클래식 위젯과 일치하지 않는 테마 배경을 설정하므로 호환성을 위해 기본값은 클래식으로 설정되어 있습니다.버전 3.16.0a0 (unreleased)에서 변경: use_ttk 매개변수가 추가되었습니다.
- result¶
apply`에 의해 생성된 값 또는 대화 상자가 취소된 경우 ``None`().
- body(master)¶
대화 상자의 인터페이스를 구성하고 초기 포커스가 필요한 위젯을 반환하도록 재정의하십시오.
- buttonbox()¶
기본 동작은 OK 및 Cancel 버튼을 추가합니다. 사용자 정의 버튼 레이아웃의 경우 이를 재정의하십시오.
- validate()¶
사용자가 입력한 데이터를 검증합니다. 유효하면 참(True)을 반환하고 대화 상자는
apply()로 진행되며, 유효하지 않으면 거짓(False)을 반환하여 대화 상자를 열어둡니다. 기본 구현은 항상 참을 반환하므로, 입력을 확인하려면 이를 재정의하십시오.
- apply()¶
사용자가 입력한 데이터를 처리합니다(예:
result속성에 저장).validate()가 성공하고 대화 상자가 파괴되기 직전에 호출됩니다. 기본 구현은 아무것도 수행하지 않으므로, 결과를 처리하거나 저장하려면 이를 재정의하십시오.
- destroy()¶
대화 상자 창을 파괴하고 초기 포커스가 있던 위젯에 대한 참조를 해제합니다.
- class tkinter.simpledialog.SimpleDialog(master, text='', buttons=[], default=None, cancel=None, title=None, class_=None, *, bitmap=None, detail='', use_ttk=True)¶
사용자가 누른 버튼의 인덱스를 반환하며, buttons 로 제공된 일렬의 푸시 버튼 위에 text 메시지를 표시하는 단순한 모달 대화 상자입니다. buttons 의 각 항목은 버튼 레이블이거나
{'text': 'OK', 'underline': 0}와 같은 버튼 옵션 매핑입니다.underline옵션은 Alt 키와 밑줄이 그어진 문자를 함께 누를 때 해당 버튼이 작동하게 합니다. default 는 포커스가 없는 상태에서 Return 키로 활성화되는 기본 버튼의 인덱스이고, cancel 은 윈도우 매니저를 통해 창이 닫힐 때 반환되는 인덱스이며, title 은 창 제목, class_ 는 윈도우의 Tk 클래스 이름입니다. bitmap 은 메시지 옆에 표시되는 비트맵의 이름(예:'warning'또는'question')입니다. use_ttk 가 참일 때 표준 이름인'error','info','question'및'warning'은 테마 아이콘으로 표시됩니다. detail 은 text 아래에 표시되는 보조 메시지입니다. use_ttk 가 참일 때(기본값) 대화 상자는 Tk 메시지 박스를 모델로 한 테마 기반tkinter.ttk위젯으로 생성되며, 거짓일 때는tk_dialog를 모델로 한 클래식tkinter위젯으로 생성됩니다.버전 3.16.0a0 (unreleased)에서 변경: 이제 대화 상자는 기본적으로 클래식
tkinter위젯 대신 테마 기반tkinter.ttk위젯으로 구축됩니다. bitmap, detail, use_ttk 매개변수가 추가되었습니다. buttons 의 항목은 버튼 옵션 매핑일 수 있습니다.- go()¶
대화 상자를 표시하고 사용자가 버튼을 누르거나 창을 닫을 때까지 기다린 후, 선택된 버튼의 인덱스를 반환합니다.
tkinter.filedialog — 파일 선택 대화 상자¶
소스 코드: Lib/tkinter/filedialog.py
tkinter.filedialog 모듈은 파일/디렉터리 선택 창을 만들기 위한 클래스와 팩토리 함수를 제공합니다.
네이티브 로드/저장 대화 상자¶
다음 클래스와 함수들은 네이티브 외형과 동작을 사용자 정의할 수 있는 설정 옵션을 결합한 파일 대화 상자 창을 제공합니다. 다음 키워드 인자들은 아래 나열된 클래스와 함수에 적용됩니다:
parent - 대화 상자를 위에 띄울 창title - 창의 제목initialdir - 대화 상자가 시작되는 디렉터리initialfile - 대화 상자를 열 때 선택된 파일filetypes - (레이블, 패턴) 튜플의 시퀀스, ‘*’ 와일드카드 허용defaultextension - 파일에 추가할 기본 확장자 (저장 대화 상자)multiple - 참(True)일 경우, 여러 항목을 선택할 수 있습니다
정적 팩토리 함수
아래 함수들은 호출 시 모달 및 네이티브 외형의 대화 상자를 생성하고, 사용자의 선택을 기다린 후 이를 반환합니다. 정확한 반환 값은 함수에 따라 다릅니다(아래 참조). 대화 상자가 취소되면 해당 함수에 정의된 빈 값(빈 문자열, 빈 튜플, 빈 리스트 또는 None)이 반환됩니다.
- tkinter.filedialog.askopenfile(mode='r', **options)¶
Open대화 상자를 생성하고 열린 파일 객체를 반환하거나, 대화 상자가 취소되면None``을 반환합니다. 파일은 *mode* 모드로 열립니다(기본값은 읽기 전용 ``'r').
- tkinter.filedialog.askopenfiles(mode='r', **options)¶
Open대화 상자를 생성하고 열린 파일 객체 목록을 반환하며, 취소되면 빈 리스트를 반환합니다. 파일은 mode 모드로 열립니다(기본값은 읽기 전용'r').버전 3.16.0a0 (unreleased)부터 사용 지원 중단(deprecated), 버전 3.19에서 제거 예정: 여러 파일을 동시에 여는 것은 오류가 발생하기 쉬우며, 반환된 리스트를
with문에서 사용할 수 없습니다. 대신askopenfilenames()가 반환하는 이름들을 반복하며 하나씩 여십시오.
- tkinter.filedialog.asksaveasfile(mode='w', **options)¶
SaveAs대화 상자를 생성하고 열린 파일 객체를 반환하거나, 대화 상자가 취소되면None``을 반환합니다. 파일은 *mode* 모드로 열립니다(기본값은 ``'w').
- tkinter.filedialog.askopenfilename(**options)¶
- tkinter.filedialog.askopenfilenames(**options)¶
Open대화 상자를 생성합니다.askopenfilename()은 선택된 파일명을 문자열로 반환하며, 대화 상자가 취소되면 빈 문자열을 반환합니다.askopenfilenames()는 선택된 파일명들을 튜플로 반환하며, 취소되면 빈 튜플을 반환합니다.
- tkinter.filedialog.asksaveasfilename(**options)¶
SaveAs대화 상자를 생성하고 선택된 파일명을 문자열로 반환하거나, 대화 상자가 취소되면 빈 문자열을 반환합니다.
- tkinter.filedialog.askdirectory(**options)¶
사용자에게 디렉터리를 선택하도록 요청하고 그 경로를 문자열로 반환하며, 대화 상자가 취소되면 빈 문자열을 반환합니다. 추가 키워드 옵션: mustexist - 참(True)일 경우, 사용자는 존재하는 디렉터리만 선택할 수 있습니다(기본값은 거짓(False)).
- class tkinter.filedialog.Open(master=None, **options)¶
- class tkinter.filedialog.SaveAs(master=None, **options)¶
- class tkinter.filedialog.Directory(master=None, **options)¶
위의 세 클래스는 파일 로드 및 저장과 디렉터리 선택을 위한 네이티브 대화 상자를 제공합니다.
편의 클래스
아래 클래스들은 처음부터 파일/디렉터리 창을 생성하는 데 사용됩니다. 이들은 플랫폼의 네이티브 외형을 모방하지 않습니다.
참고
사용자 정의 이벤트 처리 및 동작을 위해 FileDialog 클래스를 서브 클래스화해야 합니다.
- class tkinter.filedialog.FileDialog(master, title=None, *, use_ttk=True)¶
기본 파일 선택 대화 상자를 생성합니다. 필터 입력란, 나란히 배치된 디렉터리 및 파일 목록, 선택 입력란으로 구성된 레이아웃은 클래식 Motif 파일 선택 대화 상자를 따릅니다. use_ttk 가 참(기본값)일 때 대화 상자는 테마 기반
tkinter.ttk위젯으로 구성되며, 거짓일 때 클래식tkinter위젯으로 구성됩니다.버전 3.16.0a0 (unreleased)에서 변경: 이제 대화 상자는 기본적으로 클래식
tkinter위젯 대신 테마 기반tkinter.ttk위젯으로 생성됩니다. use_ttk 매개변수가 추가되었습니다.- cancel_command(event=None)¶
대화 상자 창의 종료를 트리거합니다.
- dirs_double_event(event)¶
디렉터리에 대한 더블 클릭 이벤트의 이벤트 처리기.
- dirs_select_event(event)¶
디렉터리에 대한 클릭 이벤트의 이벤트 처리기.
- files_double_event(event)¶
파일에 대한 더블 클릭 이벤트의 이벤트 처리기.
- files_select_event(event)¶
파일에 대한 단일 클릭 이벤트의 이벤트 처리기.
- filter_command(event=None)¶
디렉터리로 파일을 필터링합니다.
- get_filter()¶
현재 사용 중인 파일 필터를 가져옵니다.
- get_selection()¶
현재 선택된 항목을 가져옵니다.
- go(dir_or_file=os.curdir, pattern='*', default='', key=None)¶
대화 상자를 렌더링하고 이벤트 루프를 시작합니다.
- ok_event(event)¶
현재 선택을 반환하며 대화 상자를 종료합니다.
- ok_command()¶
사용자가 현재 선택을 확인했을 때 호출됩니다. 기본 구현은 선택을 수락하고 대화 상자를 닫습니다.
LoadFileDialog와SaveFileDialog는 선택 사항을 먼저 확인하기 위해 이를 재정의합니다.
- quit(how=None)¶
필명이 있다면 필명을 반환하며 대화 상자를 종료합니다.
- set_filter(dir, pat)¶
파일 필터를 설정합니다.
- set_selection(file)¶
현재 파일 선택을 file 로 업데이트합니다.
tkinter.commondialog — 대화 상자 템플릿¶
소스 코드: Lib/tkinter/commondialog.py
tkinter.commondialog 모듈은 다른 지원 모듈에 정의된 대화 상자의 베이스 클래스인 Dialog 클래스를 제공합니다.
tkinter.dialog — 클래식 Tk 대화 상자¶
소스 코드: Lib/tkinter/dialog.py
tkinter.dialog 모듈은 클래식(테마 미적용) Tk 위젯을 기반으로 구축된 간단한 모달 대화 상자를 제공합니다.
- class tkinter.dialog.Dialog(master=None, cnf={}, **kw)¶
클래식(테마 미적용) Tk 위젯으로 구축된 모달 대화 상자를 표시하고 사용자가 버튼 중 하나를 누를 때까지 기다립니다. cnf*를 통해 제공되거나 키워드 인자로 제공되는 옵션은 모두 필수입니다: *title (창 제목), text (메시지), bitmap (비트맵 아이콘 이름, 예:
DIALOG_ICON), default (기본 버튼의 인덱스) 및 strings (버튼 레이블 시퀀스). 구성 후,num속성에는 사용자가 누른 버튼의 인덱스가 저장됩니다.- destroy()¶
아무것도 수행하지 않습니다. 대화 상자 창이 생성자가 반환되기 전에 자동으로 파괴되므로 이 메서드가 수행할 작업이 없습니다.
더 보기