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

Python Tkinter에서 프레임(Frame)에 테두리 추가하는 방법

Tkinter에서 Frame 위젯 주위에 테두리(border)를 그리려면 프레임을 생성할 때 highlightbackgroundhighlightthickness 매개변수를 사용하면 됩니다. 이번 글에서는 이 두 가지 매개변수를 실제 예제를 통해 어떻게 활용하는지 자세히 알아보겠습니다.

구현 단계

  • tkinter 라이브러리를 임포트하고 tkinter 프레임의 인스턴스를 생성합니다.

  • geometry 메서드를 사용하여 윈도우의 크기를 설정합니다.

  • Frame() 메서드로 프레임을 생성합니다. 이때 highlightbackground="blue"로 테두리 색상을 지정하고, highlightthickness=2로 테두리 두께를 설정합니다.

  • 프레임 내부에 위젯들을 배치합니다. 예제에서는 체크버튼(checkbutton) 4개와 버튼(button) 1개를 프레임 안에 넣었습니다.

  • 마지막으로 애플리케이션 윈도우의 mainloop를 실행하여 화면에 출력합니다.

예제 코드

from tkinter import *

top = Tk()
top.geometry("700x350")

frame1 = Frame(top, highlightbackground="blue", highlightthickness=2)
frame1.pack(padx=20, pady=20)

C1 = Checkbutton(frame1, text = "Music", width=200, anchor="w")
C1.pack(padx=10, pady=10)

C2 = Checkbutton(frame1, text = "Video", width=200, anchor="w")
C2.pack(padx=10, pady=10)

C3 = Checkbutton(frame1, text = "Songs", width=200, anchor="w")
C3.pack(padx=10, pady=10)

C4 = Checkbutton(frame1, text = "Games", width=200, anchor="w")
C4.pack(padx=10, pady=10)

Button(frame1, text="Button-1", font=("Calibri",12,"bold")).pack(padx=10, pady=10)

top.mainloop()

실행 결과

위 코드를 실행하면 다음과 같은 결과가 나타납니다.

Python Tkinter에서 프레임(Frame)에 테두리 추가하는 방법

더 간단한 방법: LabelFrame 활용

프레임 주위에 단순한 테두리만 필요하다면 더 쉬운 방법도 있습니다. Frame 대신 LabelFrame을 사용하면 별도의 매개변수 설정 없이도 자동으로 프레임 위젯 주위에 테두리가 생성됩니다. 또한 LabelFrame은 제목(라벨)을 함께 표시할 수 있어 위젯을 그룹화할 때 시각적으로 더욱 유용합니다.