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

Tkinter에서 Toplevel의 위치를 ​​어떻게 결정할 수 있습니까?

<시간/>

프레임 중앙에 개체를 배치하려면 place 방법. 예를 들어 어떻게 수행되는지 살펴보겠습니다.

단계 -

  • 필요한 라이브러리를 가져오고 tkinter 프레임의 인스턴스를 만듭니다.

  • win.geometry 방법을 사용하여 프레임의 크기를 설정합니다.

  • 그런 다음 버튼을 만들고 레이블을 지정합니다.

  • x 및 y 좌표 값을 제공하여 place 방법을 사용하여 버튼의 위치를 ​​설정합니다.

  • 위젯의 중심을 버튼 위젯의 0.5(relx=0.5, 의존=0.5)의 상대 x 및 y 위치에 배치합니다. "anchor=CENTER"를 제공하여 중심에 앵커를 설정합니다.

  • 마지막으로 애플리케이션 창의 메인 루프를 실행합니다.

예시

# Import the Tkinter library
from tkinter import *
from tkinter import ttk

# Create an instance of Tkinter frame
win = Tk()

# Define the geometry
win.geometry("750x350")
win.title("Main Window")

def toplevel_position():
   print("The coordinates of Toplevel window are:", top.winfo_x(), top.winfo_y())

top = Toplevel(win, height=150, width=300)
top.title("This is the Toplevel Window")
top.attributes('-topmost', 'true')

button = ttk.Button(top, text="Get position", command=toplevel_position)

button.place(relx=0.5, rely=0.5, anchor=CENTER)

top.mainloop()

출력

이 코드를 실행하면 다음과 같은 출력 창이 표시됩니다 -

Tkinter에서 Toplevel의 위치를 ​​어떻게 결정할 수 있습니까?

이제 "위치 가져오기" 버튼을 클릭하면 콘솔에 최상위 창의 좌표가 인쇄됩니다.

The coordinates of Toplevel window are: 282 105