Tkinter 애플리케이션은 프레임 또는 윈도우 객체가 초기화된 후 실행됩니다. 일반적으로 geometry() 메서드(지오메트리 관리자)를 사용하면 Tkinter 창의 초기 크기, 즉 너비와 높이를 정의할 수 있으며, 우리가 만든 위젯들은 보통 이 영역 안에 배치됩니다.
그렇다면 창의 너비와 높이는 그대로 두고 화면상의 위치만 설정하려면 어떻게 해야 할까요? 방법은 간단합니다. geometry() 메서드에 크기 정보를 생략한 문자열을 전달하면 됩니다. 예를 들어 "+%d+%d" 패턴처럼 x, y 좌표 값만 지정하면, 창은 내용물(위젯)의 크기에 맞춰 자동으로 조절되면서 원하는 위치에 나타나게 됩니다.
예제 코드
# 필요한 라이브러리 임포트
from tkinter import *
from tkinter import ttk
# tkinter 프레임 인스턴스 생성
win = Tk()
# 너비와 높이를 지정하지 않고 위치만 설정
x = 500
y = 300
win.geometry("+%d+%d" %(x,y))
# Label 위젯 추가
label = Label(win, text=" Tkinter has a variety of inbuilt functions, " "modules, and packages.", font = ('Georgia 20'))
label.pack(pady=10)
win.mainloop()실행 결과
코드를 실행하면 콘텐츠의 너비와 높이에 맞춰 크기가 자동으로 결정된 창이 화면의 지정된 위치(x=500, y=300)에 표시됩니다.
