본문 바로가기
programming/Python

파이썬 tkinter place 레이아웃 절대좌표 이용

by 개코 - 개발과 코딩 2022. 1. 8.

파이썬 tkinter에서 절대좌표를 이용해 위젯을 화면에 배치할 수 있다. 절대좌표는 x와 y에 좌표를 설정하는 방식이며, 창이 커짐과 작아짐에 따라 변하지 않는다. 이것은 절대좌표의 특성이기도 하다. 동적으로 물체나 또는 그래픽과 같이 위치가 동적인 경우에 사용된다.

파이썬 tkinter place 레이아웃 절대좌표 이용

파이썬의 레이아웃에 위젯을 설정 할 때 좌표를 이용하는 방법이 있다.

좌표는 화면의 x, y 좌료를 이용하는 것으로 위젯의 좌측 상단을 꼭지점을 기준으로 한다.

좌표는 절대좌표와 상대좌표로 이루어지며, 여기서는 절대좌표만 다룬다.

위젯의 절대좌표

위젯의 절대좌표는 간단하다.

사각형 형태의 위젯의 좌측 상단이 기준이 된다.

만약 화면에 x좌표 : 100 , y좌료 : 100 이라고 가정해 본다.

그렇다면 x축으로 기준으로 100px 위치 y축을 기준으로 100px 위치에 위젯이 배치된다.

place 레이아웃

좌표를 이용해 파이썬 tkinter 창에 위젯을 배치할 때 place 메서드를 사용한다.

place 메서드와 x좌표 y좌표를 설정하면 절대좌표로써 위젯을 배치할 수 있다.

Widget.place( x = 숫자, y = 숫자 )

샘플코드

place 메서드의 절대좌표를 사용하여 버튼을 배치시켜 본다.

좌표는 0부터 시작해서 50씩 증가시켜보도록 한다.

place 메서드를 사용하는 방법은 위와 같고 그대로 사용할 것이다.

#----- import 모듈
import tkinter.messagebox as msgbox
from tkinter import *
from datetime import datetime

#----- 함수

#----- 메인

# 윈도우 창 생성
vWindow = Tk()
vWindow.title('윈도우창 타이틀')
vWindow.geometry('640x320')
vWindow.option_add('*Font', '돋음 20')

# 버튼 생성
vButton = Button(vWindow)
vButton.config(text='절대좌표 {x=0, y=0}')
vButton.place(x=0, y=0)

# 버튼 생성
vButton = Button(vWindow)
vButton.config(text='절대좌표 {x=50, y=50}')
vButton.place(x=50, y=50)

# 버튼 생성
vButton = Button(vWindow)
vButton.config(text='절대좌표 {x=100, y=100}')
vButton.place(x=100, y=100)

# 윈도우 창 실행
vWindow.mainloop()

좌표를 50씩 증가시키고 place 메서드에 설정했다.

x, y 좌표가 난해하다면 이 글 상단에 있는 이미지를 참고하자.

결과 화면을 보자.

위젯의 위치가 절대좌표로 배치되는 것을 볼 수 있다.

단점이라면 창이 커지고 작아지더라도 절대좌표이기 때문에 위젯의 위치는 변함이 없다.

반응형

댓글