Tkinter中提供的三個常規幾何管理器中最簡單的是Place幾何管理器。它允許您以絕對值或相對於另一個窗口的方式顯式設置窗口的位置和大小。您可以通過place()方法訪問位置管理器,該方法可用於所有標準小部件。
對於常規的窗口和對話框布局,通常不建議使用place()。它隻是要做很多工作才能使事情按其應有的方式工作。為此,請使用pack()或grid()管理器。
用法:
widget.place(relx = 0.5, rely = 0.5, anchor = CENTER)
注意: place()
該方法可以與grid()方法一起使用,也可以與pack()方法一起使用。
代碼1:
# Importing tkinter module
from tkinter import * from tkinter.ttk import *
# creating Tk window
master = Tk()
# setting geometry of tk window
master.geometry("200x200")
# button widget
b1 = Button(master, text = "Click me !")
b1.place(relx = 1, x =-2, y = 2, anchor = NE)
# label widget
l = Label(master, text = "I'm a Label")
l.place(anchor = NW)
# button widget
b2 = Button(master, text = "GFG")
b2.place(relx = 0.5, rely = 0.5, anchor = CENTER)
# infinite loop which is required to
# run tkinter program infinitely
# until an interrupt occurs
mainloop()
輸出:
當我們使用pack()或grid()管理器時,將兩個不同的小部件彼此分開放置是非常容易的,但是將其中一個放置在另一個內部則有點困難。但這可以通過place()方法輕鬆實現。在place()方法中,我們可以使用in_選項將一個小部件放在另一個小部件內。
代碼2:
# Importing tkinter module
from tkinter import * from tkinter.ttk import *
# creating Tk window
master = Tk()
# setting geometry of tk window
master.geometry("200x200")
# button widget
b2 = Button(master, text = "GFG")
b2.pack(fill = X, expand = True, ipady = 10)
# button widget
b1 = Button(master, text = "Click me !")
# This is where b1 is placed inside b2 with in_ option
b1.place(in_= b2, relx = 0.5, rely = 0.5, anchor = CENTER)
# label widget
l = Label(master, text = "I'm a Label")
l.place(anchor = NW)
# infinite loop which is required to
# run tkinter program infinitely
# until an interrupt occurs
mainloop()
輸出:在下麵的圖像中,請注意一個按鈕位於另一個按鈕的內部。
相關用法
- Python Tkinter maxsize()用法及代碼示例
- Python Tkinter destroy()用法及代碼示例
- Python Tkinter iconphoto()用法及代碼示例
- Python Tkinter minsize()用法及代碼示例
- Python Tkinter grid()用法及代碼示例
- Python Tkinter pack()用法及代碼示例
- Python Tkinter resizable()用法及代碼示例
注:本文由純淨天空篩選整理自sanjeev2552大神的英文原創作品 Python | place() method in Tkinter。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。