Python| Tkinter 中的 place() 方法
Place几何管理器是 Tkinter 中提供的三个通用几何管理器中最简单的一个。它允许您以绝对值或相对于另一个窗口的方式显式设置窗口的位置和大小。
您可以通过适用于所有标准小部件的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()
输出:在下图中,请注意一个按钮放在另一个按钮内。