Tkinter는 애플리케이션 실행 시 모든 위젯(widget)과 프레임(frame)이 표시되는 기본 창 객체를 먼저 생성합니다. 그리고 각 구성 요소는 사용자가 geometry() 메서드로 지정한 값에 따라 창의 크기와 위치가 결정됩니다.
그렇다면 모니터 자체의 실제 화면 크기를 알아내려면 어떻게 해야 할까요? Tkinter에서는 다음 두 가지 메서드를 제공합니다.
- winfo_screenwidth(): 현재 화면의 너비를 픽셀 단위로 반환합니다.
- winfo_screenheight(): 현재 화면의 높이를 픽셀 단위로 반환합니다.
예제 코드
아래 예제에서는 Tkinter 창을 생성한 뒤, 현재 모니터의 가로 및 세로 해상도를 콘솔에 출력합니다.
# 필요한 라이브러리 임포트
from tkinter import *
# Tkinter 프레임 인스턴스 생성
win = Tk()
# 프레임의 지오메트리(크기) 설정
win.geometry("650x250")
# 현재 화면의 너비와 높이 가져오기
screen_width = win.winfo_screenwidth()
screen_height = win.winfo_screenheight()
# 화면 크기 출력
print("Screen width:", screen_width)
print("Screen height:", screen_height)
win.mainloop()실행 결과
코드를 실행하면 650x250 크기의 창이 화면에 나타나며, 동시에 콘솔에는 현재 모니터의 해상도가 출력됩니다.
Screen width: 1366 Screen height: 768
참고 사항
반환되는 값은 운영체제의 디스플레이 배율(DPI 스케일링) 설정에 따라 실제 물리적 해상도와 다르게 표시될 수 있습니다. 또한 이 메서드들은 멀티 모니터 환경에서 주 모니터(primary monitor)의 크기를 기준으로 값을 반환한다는 점도 유의해야 합니다.