Open In App

Python | PanedWindow Widget in Tkinter

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

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 module
from tkinter import * from tkinter import ttk
  
# main tkinter window
root = Tk()
  
# panedwindow object
pw = PanedWindow(orient ='vertical')
  
# Button widget
top = ttk.Button(pw, text ="Click Me !\nI'm a Button")
top.pack(side = TOP)
  
# This will add button widget to the panedwindow
pw.add(top)
  
# Checkbutton Widget
bot = Checkbutton(pw, text ="Choose Me !")
bot.pack(side = TOP)
  
# This will add Checkbutton to panedwindow
pw.add(bot)
  
# expand is used so that widgets can expand
# fill is used to let widgets adjust itself
# according to the size of main window
pw.pack(fill = BOTH, expand = True)
  
# This method is used to show sash
pw.configure(sashrelief = RAISED)
  
# Infinite loop can be destroyed by
# keyboard or mouse interrupt
mainloop()


Output:

 
Code #2: PanedWindow with multiple panes




# Importing everything from tkinter module
from tkinter import * from tkinter import ttk
  
# main tkinter window
root = Tk()
  
# panedwindow object
pw = PanedWindow(orient ='vertical')
  
# Button widget
top = ttk.Button(pw, text ="Click Me !\nI'm a Button")
top.pack(side = TOP)
  
# This will add button widget to the panedwindow
pw.add(top)
  
# Checkbutton Widget
bot = Checkbutton(pw, text ="Choose Me !")
bot.pack(side = TOP)
  
# This will add Checkbutton to panedwindow
pw.add(bot)
  
# adding Label widget
label = Label(pw, text ="I'm a Label")
label.pack(side = TOP)
  
pw.add(label)
  
# Tkinter string variable
string = StringVar()
  
# Entry widget with some styling in fonts
entry = 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 operations
entry.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 window
pw.pack(fill = BOTH, expand = True)
  
# This method is used to show sash
pw.configure(sashrelief = RAISED)
  
# Infinite loop can be destroyed by
# keyboard or mouse interrupt
mainloop()


Output:



Last Updated : 07 Jun, 2019
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads