드롭다운 목록 형태로 여러 선택지를 표시하는 메뉴가 필요한 상황을 생각해 볼 수 있습니다. 이러한 기능을 구현하기 위해 Tkinter는 OptionMenu 위젯을 제공하며, 이 위젯은 선택지와 항목 목록을 추가할 수 있는 기능을 갖추고 있습니다.
OptionMenu 위젯은 배경색(bg), 전경색(fg), 너비, 높이 등 다양한 속성을 설정하여 기본 동작과 외관을 손쉽게 커스터마이징할 수 있습니다. 특히 드롭다운으로 펼쳐지는 메뉴 자체의 색상도 config() 메서드를 통해 변경 가능합니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
from PIL import Image, ImageTk
# tkinter 프레임 인스턴스 생성
win = Tk()
# tkinter 윈도우 크기 설정
win.geometry("700x350")
# 라벨 추가
Label(win, text="메뉴에서 요일을 선택하세요", font=('Aerial 13')).pack(pady=10)
# 선택값을 저장할 변수 생성
var = StringVar()
# OptionMenu 위젯을 만들고 선택지 추가
option = OptionMenu(win, var, "Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday")
option.config(bg="gray81", fg="white")
option['menu'].config(bg="green3")
option.pack(padx=20, pady=30)
win.mainloop()실행 결과
위 코드를 실행하면 요일이 선택지로 표시되는 OptionMenu가 나타납니다. 여기서 핵심 포인트는 두 부분으로 나눌 수 있습니다.
option.config(bg="gray81", fg="white")— 버튼(닫힌 상태) 영역의 배경색과 글자색을 지정합니다.option['menu'].config(bg="green3")— 드롭다운으로 펼쳐지는 메뉴 항목들의 배경색을 지정합니다.
이처럼 메뉴의 배경색과 전경색은 설정(config) 메서드를 통해 자유롭게 변경할 수 있으며, 위 예제에서는 회색 버튼과 초록색 드롭다운 메뉴가 함께 표시됩니다.