Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

Python Tkinter - จะวางตำแหน่งวิดเจ็ต topLevel () ที่สัมพันธ์กับหน้าต่างรูทได้อย่างไร


ใน Tkinter ระดับบนสุด วิดเจ็ตใช้เพื่อสร้างหน้าต่างโมดอลป๊อปอัป หน้าต่างป๊อปอัปที่สร้างโดย ระดับบนสุด หน้าต่างทำงานคล้ายกับหน้าต่างเริ่มต้นของแอปพลิเคชัน tkinter สามารถมีวิดเจ็ตต่างๆ ได้ เช่น วิดเจ็ตข้อความ วิดเจ็ตปุ่ม วิดเจ็ตผ้าใบ กรอบ เป็นต้น

ขนาดและตำแหน่งของ ระดับบนสุด สามารถเลือกหน้าต่างได้โดยทำให้มีความยืดหยุ่นตลอดทั้งหน้าจอ ใน ระดับบนสุด หน้าต่าง วิดเจ็ตทั้งหมดจะอยู่ด้านบนของหน้าต่างอื่นเสมอ

คุณสามารถใช้ root.winfo_x() และ root.winfo_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 () ที่สัมพันธ์กับหน้าต่างรูทได้อย่างไร