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

ฉันจะกำหนดตำแหน่งของ Toplevel ใน Tkinter ได้อย่างไร?


ในการวางวัตถุไว้ตรงกลางเฟรม เราสามารถใช้ สถานที่ กระบวนการ. มาดูตัวอย่างกันว่าทำอย่างไร

ขั้นตอน -

  • นำเข้าไลบรารีที่จำเป็นและสร้างอินสแตนซ์ของเฟรม tkinter

  • กำหนดขนาดของเฟรมโดยใช้วิธี win.geometry

  • ถัดไป สร้างปุ่มและติดป้ายกำกับ

  • กำหนดตำแหน่งของปุ่มโดยใช้วิธีการวางโดยระบุค่าพิกัด x และ y

  • วางวิดเจ็ตไว้ที่กึ่งกลางของวิดเจ็ตที่ตำแหน่ง x และ y ที่สัมพันธ์กัน 0.5 ของวิดเจ็ตปุ่ม (relx=0.5, trust=0.5) ตั้งพุกไว้ตรงกลางโดยใส่ "anchor=CENTER"

  • สุดท้าย ให้เรียกใช้ mainloop ของหน้าต่างแอปพลิเคชัน

ตัวอย่าง

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

ผลลัพธ์

เมื่อคุณรันโค้ดนี้ มันจะแสดงหน้าต่างผลลัพธ์ต่อไปนี้ -

ฉันจะกำหนดตำแหน่งของ Toplevel ใน Tkinter ได้อย่างไร?

ตอนนี้ คลิกปุ่ม "รับตำแหน่ง" และมันจะพิมพ์พิกัดของหน้าต่างระดับบนสุดบนคอนโซล

The coordinates of Toplevel window are: 282 105