Tkinter Place Geometry Manager
In this tutorial, you’ll learn about the Tkinter place geometry manager, which allows for precise positioning of widgets within a container using an (x, y) coordinate system.
Introduction to Tkinter Place Geometry Manager
The Tkinter place geometry manager enables you to specify the exact placement of widgets either through absolute positioning or relative positioning.
Key Features of the Place Geometry Manager
- Specify exact coordinates (x, y).
- Use relative positioning based on anchor points.
To use the place geometry manager, call the place()
method on the widget like this:
widget.place(**options)
Code copied!
1. Absolute Positioning
With absolute positioning, you specify the exact x and y coordinates of the widget using the x
and y
parameters:
widget.place(x=100, y=150)
Code copied!
2. Relative Positioning
For relative positioning, use the relx
and rely
parameters to place the widget based on a fraction of the parent container's dimensions:
widget.place(relx=0.5, rely=0.5, anchor='center')
Code copied!
3. Width and Height
You can set the width and height of the widget using the width
and height
parameters:
widget.place(width=150, height=75)
Code copied!
Alternatively, you can use relative sizing:
widget.place(relwidth=0.5, relheight=0.5)
Code copied!
4. Anchor
The anchor
parameter determines which part of the widget is positioned at the specified coordinates. Common anchor values include:
'n'
: North (top center)'s'
: South (bottom center)'e'
: East (right center)'w'
: West (left center)'center'
: Center of the widget
widget.place(relx=0.5, rely=0.5, anchor='center')
Code copied!
Examples of Tkinter Place Geometry Manager
1. Absolute Positioning Example
This example places a label at (0, 0) with a specified width and height:
import tkinter as tk
root = tk.Tk()
root.title('Tkinter Place Example')
root.geometry("600x400")
label1 = tk.Label(master=root, text="Absolute Position", bg='red', fg='white')
label1.place(x=0, y=0, width=120, height=60)
root.mainloop()
Code copied!
2. Relative Positioning Example
This program places a label widget at the center of the window:
import tkinter as tk
root = tk.Tk()
root.title('Tkinter Place Example')
root.geometry("600x400")
label1 = tk.Label(master=root, text="Relative Position", bg='blue', fg='white')
label1.place(relx=0.5, rely=0.5, width=100, height=50, anchor='center')
root.mainloop()
Code copied!
3. Using the Anchor Point
This example places the center of the label at the center of the window:
import tkinter as tk
root = tk.Tk()
root.title('Tkinter Place Example')
root.geometry("600x400")
label1 = tk.Label(master=root, text="Anchor Center", bg='green', fg='white')
label1.place(relx=0.5, rely=0.5, width=100, height=50, anchor='center')
root.mainloop()
Code copied!
Conclusion
In this tutorial, you learned how to use the Tkinter place geometry manager to precisely position widgets within a container:
- Use absolute positioning with
x
andy
parameters. - Utilize relative positioning with
relx
andrely
parameters. - Set width and height of widgets using
width
,height
,relwidth
, andrelheight
. - Control widget placement with the
anchor
parameter.
These techniques will help you create precise layouts in your Tkinter applications.
0 Comments