tkinter에서 윈도우 창의 다양한 속성을 설정하는 방법
tkinter.Tk()
의 attributes()
메서드는 창(window)의 다양한 속성을 설정하거나 가져올 수 있는 기능을 제공합니다. 이 메서드는 주로 창의 투명도,항상 위에 표시되는지 여부, 전체 화면 여부 등을 제어할 때 사용됩니다.
기본 사용법
root = tk.Tk()
# 속성 설정
root.attributes('-topmost', True) # 항상 위에 표시
root.attributes('-alpha', 0.8) # 투명도 설정
root.attributes('-fullscreen', True) # 전체 화면
attributes()
메서드는 첫 번째 인수로 속성 이름(키)인 문자열을 받으며, 선택적으로 두 번째 인수로 해당 속성에 대한 값을 지정합니다. 속성에 대한 값은 상황에 따라 True
, False
, float
(부동 소수점) 등의 형식일 수 있습니다.
주요 속성 목록
'-alpha'
(윈도우 투명도)- 설명: 창의 투명도를 설정합니다. 값은
0.0
에서1.0
사이의 부동소수점 숫자입니다.0.0
은 완전히 투명하고,1.0
은 불투명합니다. - 예시:
root.attributes('-alpha', 0.75) # 창 투명도를 75%로 설정
- 설명: 창의 투명도를 설정합니다. 값은
'-topmost'
(항상 위에 표시)- 설명: 이 속성을
True
로 설정하면 다른 모든 창보다 항상 위에 표시됩니다.False
로 설정하면 일반 창처럼 동작합니다. - 예시:
root.attributes('-topmost', True) # 창을 항상 위에 표시
- 설명: 이 속성을
'-fullscreen'
(전체 화면)- 설명: 이 속성을
True
로 설정하면 창을 전체 화면 모드로 만듭니다.False
로 설정하면 전체 화면 모드를 해제합니다. - 예시:
root.attributes('-fullscreen', True) # 창을 전체 화면으로 설정
- 설명: 이 속성을
'-disabled'
(비활성화)- 설명: 이 속성을
True
로 설정하면 창이 사용자로부터 입력을 받지 않게 비활성화됩니다. 비활성화된 창은 클릭이나 키보드 입력을 받지 않습니다. - 예시:
root.attributes('-disabled', True) # 창을 비활성화
- 설명: 이 속성을
'-toolwindow'
(툴 윈도우)- 설명: 이 속성을
True
로 설정하면 창이 타이틀바와 최소화/최대화 버튼이 없는 툴 윈도우로 표시됩니다. 주로 작은 도구 창을 만들 때 사용합니다. - 예시:
root.attributes('-toolwindow', True) # 툴 윈도우로 설정
- 설명: 이 속성을
'-transparentcolor'
(투명한 배경색)- 설명: 창에서 특정 배경색을 투명하게 설정할 수 있습니다. 이 속성은 윈도우의 배경색과 일치하는 모든 부분을 투명하게 표시합니다.
- 예시:
root.attributes('-transparentcolor', 'red') # 배경색이 빨간 부분을 투명하게 설정
속성 값 확인
attributes()
메서드를 호출할 때, 속성의 이름만 지정하면 현재 설정된 값을 반환할 수 있습니다.
is_topmost = root.attributes('-topmost')
print(is_topmost) # 출력: True 또는 False
위와 같이 현재 설정된 속성을 가져올 수 있으며, 필요한 경우 동적으로 속성을 변경할 수 있습니다.
요약
attributes()
메서드는 창의 다양한 속성을 설정하거나 가져오는 데 사용됩니다.'-alpha'
,'-topmost'
,'-fullscreen'
과 같은 속성들은 창의 투명도, 항상 위에 표시 여부, 전체 화면 여부 등을 제어합니다.- 속성 값을 지정하지 않고 호출하면 현재 설정된 값을 반환합니다.