파이썬의 Tkinter는 GUI 애플리케이션을 개발할 때 자주 사용되는 라이브러리입니다. Tkinter를 사용하면 간단하고 효과적인 GUI 인터페이스를 만들 수 있습니다.
이번에는 Tkinter 윈도우에 서브 메뉴를 추가하는 방법에 대해 알아보겠습니다. 서브 메뉴는 메인 메뉴 아래에 추가되는 하위 메뉴로, 사용자가 추가적인 옵션을 선택할 수 있도록 해줍니다.
서브 메뉴 추가하기
Tkinter 윈도우에 서브 메뉴를 추가하기 위해서는 다음과 같은 단계를 따릅니다.
Menu
위젯을 생성합니다.- 메뉴에 추가하고자 하는 내용을
add_command
메소드를 사용하여 추가합니다. - 서브 메뉴와 메인 메뉴를 연결하기 위해
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()
위의 코드에서 root
에 Tk
클래스를 사용하여 간단한 윈도우 창을 생성합니다. menubar
변수에 Menu
클래스를 사용하여 메뉴 위젯을 생성합니다. root
의 menu
속성을 설정하여 생성한 메뉴 위젯을 메인 윈도우에 연결합니다.
file_menu
변수에 Menu
클래스를 사용하여 메인 메뉴를 생성합니다. file_menu
를 menubar
에 연결하기 위해 add_cascade
메소드를 사용합니다. add_cascade
메소드의 label
매개변수에는 메인 메뉴의 이름을 설정할 수 있습니다.
서브 메뉴를 추가하기 위해 file_menu
에 add_command
메소드를 사용합니다. label
매개변수는 서브 메뉴의 이름을 설정하고, command
매개변수에는 해당 서브 메뉴를 선택했을 때 실행되는 함수를 설정합니다.
위의 예제 코드를 실행하면 윈도우 창이 나타나고, “File” 메뉴를 클릭하면 “New”와 “Open” 서브 메뉴가 나타납니다. 각 서브 메뉴를 선택하면 해당 메뉴의 이름이 출력됩니다.
이와 같은 방식으로 Tkinter에서 서브 메뉴를 추가할 수 있습니다.