Open In App

Scrollable ListBox in Python-tkinter

Last Updated : 26 Mar, 2020
Like Article

Tkinter is the standard GUI library for Python. Tkinter in Python comes with a lot of good widgets. Widgets are standard GUI elements, and the Listbox, Scrollbar will also come under this Widgets.

Note: For more information, refer to Python GUI – tkinter


The ListBox widget is used to display different types of items. These items must be of the same type of font and having the same font color. The items must also be of Text type. The user can select one or more items from the given list according to the requirement.


listbox = Listbox(root, bg, fg, bd, height, width, font, ..)



The scrollbar widget is used to scroll down the content. We can also create the horizontal scrollbars to the Entry widget.

The syntax to use the Scrollbar widget is given below.

w = Scrollbar(master, options) 


  • master: This parameter is used to represents the parent window.
  • options: There are many options which are available and they can be used as key-value pairs separated by commas.


Adding Scrollbar to ListBox

To do this we need to attach the scrollbar to Listbox, and to attach we use a function listbox.config() and set its command parameter to the scrollbar’s set method then set the scrollbar’s command parameter to point a method that would be called when the scroll bar position is changed

from tkinter import *
# Creating the root window
root = Tk()
# Creating a Listbox and
# attaching it to root window
listbox = Listbox(root)
# Adding Listbox to the left
# side of root window
listbox.pack(side = LEFT, fill = BOTH)
# Creating a Scrollbar and 
# attaching it to root window
scrollbar = Scrollbar(root)
# Adding Scrollbar to the right
# side of root window
scrollbar.pack(side = RIGHT, fill = BOTH)
# Insert elements into the listbox
for values in range(100):
    listbox.insert(END, values)
# Attaching Listbox to Scrollbar
# Since we need to have a vertical 
# scroll we use yscrollcommand
listbox.config(yscrollcommand = scrollbar.set)
# setting scrollbar command parameter 
# to listbox.yview method its yview because
# we need to have a vertical view
scrollbar.config(command = listbox.yview)


Like Article
Suggest improvement
Share your thoughts in the comments

Similar Reads