[python] Tkinter 서브 메뉴 추가

파이썬의 Tkinter는 GUI 애플리케이션을 개발할 때 자주 사용되는 라이브러리입니다. Tkinter를 사용하면 간단하고 효과적인 GUI 인터페이스를 만들 수 있습니다.

이번에는 Tkinter 윈도우에 서브 메뉴를 추가하는 방법에 대해 알아보겠습니다. 서브 메뉴는 메인 메뉴 아래에 추가되는 하위 메뉴로, 사용자가 추가적인 옵션을 선택할 수 있도록 해줍니다.

서브 메뉴 추가하기

Tkinter 윈도우에 서브 메뉴를 추가하기 위해서는 다음과 같은 단계를 따릅니다.

  1. Menu 위젯을 생성합니다.
  2. 메뉴에 추가하고자 하는 내용을 add_command 메소드를 사용하여 추가합니다.
  3. 서브 메뉴와 메인 메뉴를 연결하기 위해 add_cascade 메소드를 사용합니다.

다음은 위의 단계를 따라서 서브 메뉴를 추가하는 예제 코드입니다.

from tkinter import *

root = Tk()

menubar = Menu(root)
root.config(menu=menubar)

# 메인 메뉴
file_menu = Menu(menubar, tearoff=0)
menubar.add_cascade(label="File", menu=file_menu)

# 서브 메뉴 1
file_menu.add_command(label="New", command= lambda: print("New File"))

# 서브 메뉴 2
file_menu.add_command(label="Open", command= lambda: print("Open File"))

root.mainloop()

위의 코드에서 rootTk 클래스를 사용하여 간단한 윈도우 창을 생성합니다. menubar 변수에 Menu 클래스를 사용하여 메뉴 위젯을 생성합니다. rootmenu 속성을 설정하여 생성한 메뉴 위젯을 메인 윈도우에 연결합니다.

file_menu 변수에 Menu 클래스를 사용하여 메인 메뉴를 생성합니다. file_menumenubar에 연결하기 위해 add_cascade 메소드를 사용합니다. add_cascade 메소드의 label 매개변수에는 메인 메뉴의 이름을 설정할 수 있습니다.

서브 메뉴를 추가하기 위해 file_menuadd_command 메소드를 사용합니다. label 매개변수는 서브 메뉴의 이름을 설정하고, command 매개변수에는 해당 서브 메뉴를 선택했을 때 실행되는 함수를 설정합니다.

위의 예제 코드를 실행하면 윈도우 창이 나타나고, “File” 메뉴를 클릭하면 “New”와 “Open” 서브 메뉴가 나타납니다. 각 서브 메뉴를 선택하면 해당 메뉴의 이름이 출력됩니다.

이와 같은 방식으로 Tkinter에서 서브 메뉴를 추가할 수 있습니다.

참고자료