Python | PanedWindow Widget in Tkinter
Tkinter supports a variety of widgets to make GUI more and more attractive and functional. The PanedWindow widget is a geometry manager widget, which can contain one or more child widgets panes. The child widgets can be resized by the user, by moving separator lines sashes using the mouse.
Syntax: PanedWindow(master, **options)
Parameters:
master: parent widget or main Tk() object
options: which are passed in config method or directly in the constructor
PanedWindow can be used to implement common 2-panes or 3-panes but multiple panes can be used.
Code #1:PanedWindow with only two panes
# Importing everything from tkinter modulefrom tkinter import * from tkinter import ttk # main tkinter windowroot = Tk() # panedwindow objectpw = PanedWindow(orient ='vertical') # Button widgettop = ttk.Button(pw, text ="Click Me !\nI'm a Button")top.pack(side = TOP) # This will add button widget to the panedwindowpw.add(top) # Checkbutton Widgetbot = Checkbutton(pw, text ="Choose Me !")bot.pack(side = TOP) # This will add Checkbutton to panedwindowpw.add(bot) # expand is used so that widgets can expand# fill is used to let widgets adjust itself# according to the size of main windowpw.pack(fill = BOTH, expand = True) # This method is used to show sashpw.configure(sashrelief = RAISED) # Infinite loop can be destroyed by# keyboard or mouse interruptmainloop() |
Output:
Code #2: PanedWindow with multiple panes
# Importing everything from tkinter modulefrom tkinter import * from tkinter import ttk # main tkinter windowroot = Tk() # panedwindow objectpw = PanedWindow(orient ='vertical') # Button widgettop = ttk.Button(pw, text ="Click Me !\nI'm a Button")top.pack(side = TOP) # This will add button widget to the panedwindowpw.add(top) # Checkbutton Widgetbot = Checkbutton(pw, text ="Choose Me !")bot.pack(side = TOP) # This will add Checkbutton to panedwindowpw.add(bot) # adding Label widgetlabel = Label(pw, text ="I'm a Label")label.pack(side = TOP) pw.add(label) # Tkinter string variablestring = StringVar() # Entry widget with some styling in fontsentry = Entry(pw, textvariable = string, font =('arial', 15, 'bold'))entry.pack() # Focus force is used to focus on particular# widget that means widget is already selected for operationsentry.focus_force() pw.add(entry) # expand is used so that widgets can expand# fill is used to let widgets adjust itself# according to the size of main windowpw.pack(fill = BOTH, expand = True) # This method is used to show sashpw.configure(sashrelief = RAISED) # Infinite loop can be destroyed by# keyboard or mouse interruptmainloop() |
Output:
Attention geek! Strengthen your foundations with the Python Programming Foundation Course and learn the basics.
To begin with, your interview preparations Enhance your Data Structures concepts with the Python DS Course. And to begin with your Machine Learning Journey, join the Machine Learning – Basic Level Course


