Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Tkinter OptionMenu 위젯의 메뉴 배경색을 변경하는 방법

드롭다운 목록 형태로 여러 선택지를 표시하는 메뉴가 필요한 상황을 생각해 볼 수 있습니다. 이러한 기능을 구현하기 위해 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) 메서드를 통해 자유롭게 변경할 수 있으며, 위 예제에서는 회색 버튼과 초록색 드롭다운 메뉴가 함께 표시됩니다.