Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Python Tkinter – Cách định vị widget topLevel() tương đối với cửa sổ gốc?

Trong Tkinter, widget toplevel dùng để tạo cửa sổ popup modal. Cửa sổ popup do cửa sổ toplevel tạo hoạt động tương tự như cửa sổ mặc định của ứng dụng tkinter. Nó có thể có widget như text widget, button widget, canvas widget, frame, v.v.

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

Bạn có thể dùng root.winfo_x() và root.winfo_y() để lấy vị trí cửa sổ gốc. Sau đó, dùng phương thức geometry để định vị widget toplevel tương đối với cửa sổ gốc. Việc làm cho widget toplevel tương đối với cửa sổ gốc ngăn chặn việc chồng chéo hai cửa sổ và tách biệt chúng. Hãy xem ví dụ để thấy cách hoạt động.

Ví dụ

# Nhập thư viện cần thiết
from tkinter import *

# Tạo instance của khung hoặc cửa sổ tkinter
win = Tk()

# Thiết lập kích thước cửa sổ
win.geometry("700x300")
win.title("Root Window")

# Tạo cửa sổ toplevel
top = Toplevel(win)
top.geometry("400x200")

# Tạo Label trong widget toplevel
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))

# Giữ cửa sổ toplevel trước cửa sổ gốc
top.wm_transient(win)
top.mainloop()

Kết quả

Chạy mã trên sẽ hiển thị cửa sổ toplevel tách biệt khỏi cửa sổ chính.

Python Tkinter – Cách định vị widget topLevel() tương đối với cửa sổ gốc?