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

Python Tkinter – 루트 창을 기준으로 topLevel() 위젯을 배치하는 방법은 무엇입니까?

<시간/>

Tkinter에서 최상위 위젯은 팝업 모달 창을 만드는 데 사용됩니다. 최상위에서 만든 팝업 창 창은 tkinter 응용 프로그램의 기본 창과 유사하게 작동합니다. 텍스트 위젯, 버튼 위젯, 캔버스 위젯, 프레임과 같은 위젯을 포함할 수 있습니다. 등

최상위의 크기 및 위치 화면 전체에 유연하게 하여 창을 결정할 수 있습니다. 최상위에서 창에서 모든 위젯은 항상 다른 창 위에 배치됩니다.

root.winfo_x()를 사용할 수 있습니다. 및 root.wininfo_y() 루트 창의 위치를 ​​​​얻으려면. 그런 다음 기하학을 사용할 수 있습니다. 최상위를 배치하는 방법 루트 창에 상대적인 위젯. 최상위 만들기 루트 창에 상대적인 위젯은 두 창의 겹침을 방지하고 분리합니다. 작동 방식을 보여주는 예를 들어 보겠습니다.

예시

# Import the required libraries
from tkinter import *

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

# Set the size of the window
win.geometry("700x300")
win.title("Root Window")

# Create a toplevel window
top = Toplevel(win)
top.geometry("400x200")

# Create a Label in the toplevel widget
Label(top, text= "This is a Toplevel window", font="Calibri, 12").pack()
x = win.winfo_x()
y = win.winfo_y()
top.geometry("+%d+%d" %(x+200,y+200))

# Keep the toplevel window in front of the root window
top.wm_transient(win)

top.mainloop()

출력

위의 코드를 실행하면 메인 창과 별도로 최상위 창이 표시됩니다.

Python Tkinter – 루트 창을 기준으로 topLevel() 위젯을 배치하는 방법은 무엇입니까?