파이썬의 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에서 서브 메뉴를 추가할 수 있습니다.