파이썬 GUI 티킨더(tkinter) 사용 방법을 모른다면?
파이썬 GUI - 기본틀 만들기
메뉴 만들기
메모장의 메뉴 같은 메뉴 만들기입니다
메모장의 파일, 편집, 서식, 보기, 도움말 등이 위치한 곳으로 클릭을 하면
아래로 또 다른 메뉴가 나오는 방식입니다
메뉴는 Menu 함수를 사용하면 됩니다
메뉴 자체는 기능이 없고 메뉴를 만들고 메뉴에 추가적인 옵션을 생성해야
기능이 있는 메뉴가 됩니다
- add_command
- add_radiobutton
- add_checkbutton
- add_separator
- add_cascade
이렇게 4가지 종류가 있습니다
add_command는 직접 만든 함수 등을 클릭했을 때 실행될 수 있게 합니다
add_radiobutton는 라디오 버튼입니다
메뉴 중 하나만 선택 가능합니다
add_checkbutton는 체크박스입니다
메뉴 중 여러 개가 선택 가능합니다
add_separator는 구분선입니다 구분을 위한 줄이 표시됩니다
add_cascade는 만든 메뉴들을 메뉴(Menu)에 보여줍니다
add_command
File 메뉴를 만들고 New File, Save All, Exit을 만들겠습니다
add_command(label='메뉴 이름', command=실행 함수)
add_command 사용해서 New File, Save All, Exit를 만들었습니다
그리고 마지막으로
root.config(menu=menu)를 사용해야 아래와 같이 메뉴가 보입니다
Save All, Exit는 아직 기능이 없습니다 클릭을 해도 반응이 없습니다
New File 클릭 시 "새 파일을 만듭니다."가 print 됩니다
메뉴 비활성화
보여주기만 하거나 아직 기능 공개를 안 할 경우 클릭을 해도 무반응이어야 하는 메뉴가 있습니다
그럴 때 비활성화(disable)는 방법이 있습니다
state='disable'를 추가하면 추가된 메뉴는 비활성화가 됩니다
GUI 창 닫기
지금까지는 GUI창의 X 버튼을 클릭해서 닫았습니다
Exit 메뉴에 동일한 기능을 넣어서 Exit 클릭하면 GUI 창을 닫게 하는 방법입니다
Save All을 클릭해도 변화가 없습니다
구분선 넣기
GUI 창 닫기
Exit 버튼 클릭 시 종료하는 버튼입니다
quit(Tk(). quit)를 사용합니다
Exit 클릭하면 GUI 창이 닫히는 이벤트가 생겼습니다
구분선 넣기
메뉴와 메뉴를 구분하는 구분선을 넣는 방법입니다
메뉴에 밑줄이 생깁니다
add_separator() 함수를 사용합니다
메뉴에 넣기
add_cascade를 사용해야 지금까지 만든 메뉴가 화면에 보입니다
메뉴 "File"에 지금까지 만든 New File, Save All, Exit 메뉴를 넣었습니다
라디오 버튼
라디오 버튼(Radiobutton) 함수를 사용하지 않고 add_radiobutton 사용합니다
언어(Language) 메뉴를 만듭니다
Python, Java, C++ 3개를 만들고 "언어(Language)" 이름의 메뉴를 만들었습니다
Python, Java, C++ 중에서 어떤 걸 선택해도 한 가지만 선택 가능합니다
라디오 버튼과 같이 여러 선택지 중 하나만 선택 가능합니다
체크박스
체크박스는 라디오 버튼과 마찬가지로 선택을 할 수 있지만 차이점은
한 가지가 아닌 여러 개를 선택할 수 있습니다
체크박스(Checkbutton) 함수를 사용하지 않고 add_checkbutton 사용합니다
Minimap, Breadcrumbs 2개를 만들고 "보기(View)" 이름의 메뉴를 만들었습니다
Minimap, Breadcrumbs 1개를 선택하거나 모두 선택할 수 있습니다
코드
'Python(파이썬) > GUI(graphical user interface)' 카테고리의 다른 글
파이썬 GUI - 프레임 만들기 (0) | 2020.09.21 |
---|---|
파이썬 GUI - 메시지박스 만들기 (0) | 2020.09.18 |
파이썬 GUI - 프로그레스(로딩바) 만들기 (0) | 2020.09.11 |
파이썬 GUI - 콤보박스 (0) | 2020.09.09 |
파이썬 GUI - 라디오버튼 (0) | 2020.09.05 |