Implementation of
Sparse Matrices using
Orthogonal List in
Python using Tkinter
GUI
Presented by (Group 2):
• Aryan Aji (Roll no. 3)
• Rishabh Chaurasia (Roll no. 16)
• Siddhant Chetlur (Roll no. 20)
• Ahmed Kadiwala (Roll no. 46)
Objectives
Implement an orthogonal list to store input sparse matrices
Create methods to perform arithmetic operations on these sparse
matrices
Show visual representations of the stored matrices
Show visual representations of the output of possible operations
Use Tkinter libraries and components to bring a feature rich GUI to the
project (explained in further detail in the next slide)
Using Custom Tkinter libraries on top of existing Tkinter libraries to
provide modern features such as dark mode highlighting buttons on
hover
Capabilities of Tkinter used in
our project
Frames with grid and canvas layouts to enter data and represent the stored data
Toplevel windows to open new windows on top of the parent windows
Using the first window (main) to enter matrix dimensions and toggle dark mode
Using the second window to enter the data and to choose from various options
Using the third window to visualise the inputted matrices and the potential
outputs (in the form of orthogonal list representation
Grid layouts are helpful for data entry as matrices are displayed in a table like format
Canvas layouts are helpful for visualisation of the orthogonal lists as there are a lot
of objects to be drawn on the screen such as:
Rectangles to represent nodes
Lines to represent direction of traversal
Text to display node values, indices and NULL pointers
Uses of Custom Tkinter libraries
Custom Tkinter supports all of Tkinter’s features but improved and
some new features (such as appearance modes for dark theme)
It provides a way to implement modern GUI features to an existing
Tkinter application
In this project, Custom Tkinter allows to:
Create a dark colour scheme for the UI elements
Create a toggle to use this dark mode
Create buttons which highlight on hover
Create entry boxes with rounded corners and shadowed outlines
for a more sophisticated look
Thank you