Computer >> Máy Tính >  >> Lập trình >> Python

Python Tkinter - Làm cách nào để định vị tiện ích con topLevel () so với cửa sổ gốc?

Trong Tkinter, mức cao nhất widget được sử dụng để tạo một cửa sổ phương thức bật lên. Cửa sổ bật lên được tạo bởi toplevel cửa sổ hoạt động tương tự như cửa sổ mặc định của ứng dụng tkinter. Nó có thể có các tiện ích con như tiện ích văn bản, tiện ích nút, tiện ích canvas, khung, vv

Kích thước và vị trí của đỉnh cửa sổ có thể được quyết định bằng cách làm cho nó linh hoạt trên toàn màn hình. Trong cấp trên cửa sổ, tất cả các tiện ích luôn được đặt trên các cửa sổ khác.

Bạn có thể sử dụng root.winfo_x () root.winfo_y () để lấy vị trí của cửa sổ gốc. Sau đó, bạn có thể sử dụng hình học phương pháp để định vị một mức cao nhất widget liên quan đến cửa sổ gốc. Tạo mức cao nhất widget liên quan đến cửa sổ gốc ngăn chặn sự chồng chéo của hai cửa sổ và tách chúng ra. Hãy lấy một ví dụ để chứng minh cách nó hoạt động.

Ví dụ

# 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()

Đầu ra

Chạy đoạn mã trên sẽ hiển thị một cửa sổ cấp trên cùng với cửa sổ chính.

Python Tkinter - Làm cách nào để định vị tiện ích con topLevel () so với cửa sổ gốc?