Python - Tkinter pack() Method

This geometry manager organizes widgets in blocks before placing them in the parent widget.


widget.pack( pack_options )

Here is the list of possible options −

  • expand − When set to true, widget expands to fill any space not otherwise used in widget's parent.

  • fill − Determines whether widget fills any extra space allocated to it by the packer, or keeps its own minimal dimensions: NONE (default), X (fill only horizontally), Y (fill only vertically), or BOTH (fill both horizontally and vertically).

  • side − Determines which side of the parent widget packs against: TOP (default), BOTTOM, LEFT, or RIGHT.


Try the following example by moving cursor on different buttons −

from Tkinter import *

root = Tk()
frame = Frame(root)

bottomframe = Frame(root)
bottomframe.pack( side = BOTTOM )

redbutton = Button(frame, text="Red", fg="red")
redbutton.pack( side = LEFT)

greenbutton = Button(frame, text="green", fg="green")
greenbutton.pack( side = LEFT )

bluebutton = Button(frame, text="Blue", fg="blue")
bluebutton.pack( side = LEFT )

blackbutton = Button(bottomframe, text="Black", fg="black")
blackbutton.pack( side = BOTTOM)


When the above code is executed, it produces the following result −

TK Frame