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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。