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

Tkinter 위젯의 테두리 색상을 변경하는 방법

Tkinter로 GUI 애플리케이션을 개발할 때 위젯의 테두리 색상을 변경하고 싶은 경우가 종종 있습니다. Tkinter에서는 위젯의 highlightcolor, highlightbackground 속성을 설정하여 테두리 색상을 손쉽게 지정할 수 있습니다.

예제 코드

다음 예제에서는 Entry 위젯을 하나 만들고, 버튼을 클릭하면 해당 Entry 위젯의 테두리 색상이 빨간색으로 변경되도록 구현했습니다.

# 필요한 라이브러리 임포트
from tkinter import *

# tkinter 프레임 인스턴스 생성
win = Tk()

# 프레임의 크기 설정
win.geometry("600x250")

# Entry 위젯의 테두리 색상을 변경하는 함수 정의
def change_color():
    text.config(highlightthickness=2, highlightbackground="red")

# 테두리 색상을 변경할 Entry 위젯 생성
text = Entry(win, width=50)
text.pack()

# 버튼 위젯 생성
button = Button(win, text="Change", command=change_color)
button.pack(pady=20)

win.mainloop()

주요 속성 설명

  • highlightthickness: 위젯 테두리의 두께를 픽셀 단위로 지정합니다. 기본값이 0으로 설정된 경우가 많아 테두리가 보이지 않으므로, 값을 2 정도로 늘려주어야 색상이 눈에 보입니다.
  • highlightbackground: 위젯에 포커스가 없을 때 표시되는 테두리 색상입니다.
  • highlightcolor: 위젯이 포커스를 받았을 때 표시되는 테두리 색상입니다.

실행 결과

위 코드를 실행하면 Entry 위젯과 "Change" 버튼이 배치된 창이 나타납니다.

Tkinter 위젯의 테두리 색상을 변경하는 방법

이제 "Change" 버튼을 클릭하면 change_color() 함수가 호출되어 Entry 위젯의 테두리 두께와 색상이 다음과 같이 변경됩니다.

Tkinter 위젯의 테두리 색상을 변경하는 방법

이처럼 config() 메서드를 활용하면 실행 중에도 동적으로 위젯의 테두리 스타일을 변경할 수 있으며, 포커스 상태에 따라 다른 색상을 적용하고 싶다면 highlightcolor 속성을 함께 활용하면 됩니다.