Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

Tkinter 위젯의 현재 x 및 y 좌표를 얻는 방법은 무엇입니까?


Tkinter는 GUI 기반 응용 프로그램을 만드는 데 널리 사용됩니다. 여기에는 특정 응용 프로그램의 다른 속성을 정의하는 데 사용할 수 있는 많은 툴킷과 기능 또는 모듈이 있습니다. GUI 애플리케이션을 구축하기 위해 버튼, 텍스트 상자 및 레이블을 포함한 일부 위젯을 제공합니다. 다른 함수와 라이브러리를 사용하여 tkinter 프레임에서 위젯의 위치와 좌표를 사용자 지정할 수 있습니다.

tkinter 프레임에서 어떤 위치에 있는 텍스트 레이블 위젯을 생성했다고 가정해 봅시다. 이제 위젯의 실제 좌표를 얻기 위해 기하학을 사용할 수 있습니다. tkinter의 라이브러리에서 사용할 수 있는 메서드입니다.

wininfo_rootx()를 사용합니다. 및 wininfo_rooty() 프레임이나 창에 대한 위젯의 실제 좌표를 반환하는 함수입니다.

#Import the tkinter library
from tkinter import *

#Create an instance of the tkinter frame
win = Tk()

#Define the geometry of the frame
win.geometry("600x400")

#Define the text-widget
my_text= Text(win, height = 5, width = 52)

# Create label
lab = Label(win, text ="TutorialsPoint.com")

#Configure it using other properties
lab.config(font =("Helvetica", 20))

#Create a button widget
my_button = Button(text="Hello")

#Define the position of the widget
my_button.place(x=100, y=100)

#Update the coordinates with respect to the tkinter frame
win.update()

#Get the coordinates of both text widget and button widget
widget_x1, widget_y1 = my_button.winfo_rootx(),
my_button.winfo_rooty()
widget_x2, widget_y2 = my_text.winfo_rootx(),
my_button.winfo_rooty()

lab.pack()

print(widget_x1, widget_y1)
print(widget_x2, widget_y2)

#Keep the window running
win.mainloop()

출력

위의 코드 조각을 실행하면 위젯의 현재 위치가 다음과 같이 인쇄됩니다.

134 157
0 157

Tkinter 위젯의 현재 x 및 y 좌표를 얻는 방법은 무엇입니까?