0% found this document useful (0 votes)
38 views15 pages

PP Project - Docs

The document is a project report for a To-Do List Manager application developed using Python and Tkinter, aimed at helping users manage daily tasks through a graphical interface. It includes sections such as an abstract, introduction, topic discussion, source code, results, conclusion, and references, highlighting the project's functionalities and educational value in programming. The application allows users to add, complete, and remove tasks, promoting better time management and productivity.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views15 pages

PP Project - Docs

The document is a project report for a To-Do List Manager application developed using Python and Tkinter, aimed at helping users manage daily tasks through a graphical interface. It includes sections such as an abstract, introduction, topic discussion, source code, results, conclusion, and references, highlighting the project's functionalities and educational value in programming. The application allows users to add, complete, and remove tasks, promoting better time management and productivity.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

PROJECT REPORT

On

TO DO LIST MANAGER
Submitted in

Python Programming Laboratory


In

INFORMATION TECHNOLOGY

By

Under the Subject Faculty of

Mrs. B. Swetha
Assistant Professor, Department of IT

DEPARTMENT OF INFORMATION TECHNOLOGY


MAHATMA GANDHI INSTITUTE OF TECHNOLOGY (A)
(Affiliated to JNTUH, Hyderabad; Eight UG Programs Accredited by NBA;

Accredited by NAAC with ‘A++’ Grade)


Kokapet (Village), Gandipet, Chaitanya Bharathi (P.O.), Ranga Reddy Dist,
HYDERABAD – 500075, TELANGANA

CERTIFICATE

This is to certify that the Industry Oriented Mini Project entitled “TO DO LIST
MANAGER” , is being submitted as specialization is a record of the bonafide work
[Type here]

carried out under the supervision of Mrs B. Swetha and this has not been submitted by
another university or institute for the award of any degree or diploma.

Subject Faculty:
Mrs B. Swetha
Assistant Professor
Dept of IT

ACKNOWLEDGEMENT

The successful completion of this document on Number Guessing Game would not
have been possible without the guidance and support of many individuals. We would
like to express our sincere gratitude to our Subject Faculty, Mrs. B. Swetha,
Assistant Professor, Dept. of IT, for her continuous support, patience, and expertise
throughout the semester.

We are also thankful to the honourable Principal of MGIT, Prof. Dr.G.


Chandramohan Reddy, and Dr. D. Vijaya Lakshmi ,HoD, Information
Technology , for providing excellent infrastructure and a conducive atmosphere for
completing this project successfully.

Our heartfelt thanks go to the lab staff for their support and for allowing us to use the
required equipment whenever needed.

Finally, we would like to thank our families for their unwavering support throughout
this work. We sincerely acknowledge and thank all those who directly or indirectly
contributed to the successful completion of this document.

Table of Contents

S.NO. TITLE PAGE NO.


ABSTARCT
1 5

LIST OF FIGURES
2 6

INTRODUCTION
3 7

3
[Type here]

TOPIC DISCUSSION
4 8

SOURCE CODE
5 11

RESULT OUTPUT
6 13

CONCLUSION
7 14

REFERENCES
8 15

1. Abstract
This project presents a simple yet functional To-Do List Manager application developed
using Python's Tkinter GUI library. The primary objective of this project is to help users
efficiently manage their daily tasks in a user-friendly graphical interface.

The application allows users to:

Add new tasks to the list,

Mark tasks as completed, and

Remove tasks that are no longer needed.

Tasks are visually represented in a listbox with symbols indicating their status:

✗ for pending tasks


✓ for completed tasks

The interface is clean and minimalistic, featuring input fields, buttons for task
operations, and dynamic task display. Core functionalities are achieved using Tkinter
widgets such as Entry, Button, Listbox, and MessageBox for interactive task management
and user feedback.

This project serves as an excellent beginner-level introduction to GUI programming in


Python, showcasing event-driven programming, list manipulation, and basic user interface
design principles. It can be further enhanced with features such as saving tasks to a file,
setting task priorities, and adding deadlines.

5
[Type here]

2. List of Figures

S.NO FIGURE PAGE NO.

Flowchart illustrating
1 the control flow of the 10
To do list manager

2 Simple taskbox 12
output showing user
tasks

6
3. Introduction
In today's fast-paced world, staying organized and managing daily responsibilities
effectively has become increasingly important. A To-Do List is a simple yet powerful tool
that helps individuals keep track of their tasks and ensures productivity by setting clear
priorities.

This project, titled "To-Do List Manager using Python and Tkinter," aims to provide a
basic desktop application that allows users to create, update, and manage their tasks
through an interactive graphical user interface. Developed using Python, one of the most
popular and beginner-friendly programming languages, and Tkinter, its standard GUI
library, this project offers a hands-on approach to understanding event-driven
programming and GUI development.

The application allows users to:

Enter and add new tasks,

View their list of pending or completed tasks,

Mark tasks as completed,

Remove tasks that are no longer needed.

The goal of this project is not only to deliver a functional and user-friendly task
manager but also to help students and beginners in programming understand the
fundamentals of GUI-based application development using Python. Through this project,
users can gain practical experience in managing data structures, handling user inputs, and
designing a responsive interface.

7
[Type here]

4.Topic discussion

The Number Guessing Game project is a simple yet powerful example of how
fundamental programming concepts can be applied to create interactive applications.
The main objective of the game is to guess a randomly generated number within a
specified range. The game uses the random module to generate an unpredictable
number, and then continuously takes user input until the correct guess is made. With
each input, the program uses conditional statements (if, elif, else) to compare the guess
with the target number and provide hints such as “Too high” or “Too low.” A loop
structure (while loop) keeps the game running until the correct guess is entered.
Additionally, the program maintains a counter to track the number of attempts made by
the user, which is displayed once the game ends.
What makes this project even more valuable for learners is its potential for extension
and customization. Once the basic version is implemented, additional features can be
introduced—such as setting a limit on the number of attempts, allowing the user to
select a difficulty level, displaying high scores, or even developing a graphical user
interface using libraries like Tkinter. These enhancements help students think modularly
and introduce concepts like functions, exception handling, and user-friendly interface
design. The project encourages structured and logical thinking while reinforcing how to
build clear, readable, and functional code. Overall, the Number Guessing Game is more
than just a game—it’s a foundational step in learning programming through problem-
solving and creativity.

ALGORITHM :

Step1. Start

Step2. Create the main application window with title and size.

Step3. Initialize an empty list to store tasks.

Step4. Create input field (Entry) for task input.

Step5. Add "Add Task" button:

8
On click:

Get input text.

If not empty, prefix with ✗ and add to list.

Refresh the task display in the Listbox.

Step6. Display all tasks in a Listbox.

Step7. Add "Remove Task" button:

On click:

Get the selected item.

If an item is selected, remove it from the list.

Refresh the task display.

Step8. Add "Complete Task" button:

On click:

Get the selected item.

If not already marked ✓, update it to ✓.

Refresh the task display.

Step9. Loop the GUI with mainloop().

Step10. End
9
[Type here]

FLOWCHART :

10
5.SOURCE CODE
import tkinter as
tk from tkinter
import messagebox

class
TodoApp: def
__init__(self,
root):
self.root = root
self.root.title("To-Do List")
self.root.geometry("300x400")

self.tasks = []

# Task entry field


self.task_entry = tk.Entry(root, width=40)
self.task_entry.pack(pady=10)

# Add Task button


self.add_button = tk.Button(root, text="Add Task",
command=self.add_task) self.add_button.pack(pady=5)

# Listbox to display tasks


self.task_listbox = tk.Listbox(root, width=40,
height=10) self.task_listbox.pack(pady=10)

# Buttons to remove and mark tasks as done


self.remove_button = tk.Button(root, text="Remove Task",
command=self.remove_task) self.remove_button.pack(pady=5)

self.complete_button = tk.Button(root, text="Complete Task",


command=self.complete_task) self.complete_button.pack(pady=5)

def
add_task(self):
task =
self.task_entry.get()
if task:
self.tasks.append(f
"✗ {task}")
self.update_task_listbox()
[Type here]

self.task_entry.delete(0,
tk.END) else:
messagebox.showwarning("Input Error", "Please enter a task.")

def remove_task(self):
selected_task_index =
self.task_listbox.curselection() if
selected_task_index:
self.tasks.pop(selected_task_index[0]
) self.update_task_listbox()
else:
messagebox.showwarning("Selection Error", "Please select a
task to remove.")

def complete_task(self):
selected_task_index =
self.task_listbox.curselection() if
selected_task_index: task =
self.tasks[selected_task_index[0]]
if not task.startswith("✓"):
self.tasks[selected_task_index[0]] =
f"✓ {task[2:]}"
self.update_task_listbox() else:
messagebox.showwarning("Selection Error", "Please select a
task to mark as complete.")

def update_task_listbox(self):

self.task_listbox.delete(0,
tk.END) for task in
self.tasks:
self.task_listbox.insert(tk.E
ND, task)

if __name__ == "__main__":
root =
tk.Tk() app =
TodoApp(root)
root.mainloop(
)

12
5. Result Output
When the above program is executed, the following output is typically observed:

13
[Type here]

6. Conclusion

The To-Do List Manager using Python and Tkinter successfully demonstrates how to
build a simple and functional desktop application with a graphical user interface. Through
this project, users can efficiently add, view, complete, and remove tasks from their daily
schedule, promoting better time management and productivity.

This project not only meets its functional goals but also serves as an excellent learning
exercise in core Python programming concepts such as:

Object-Oriented Programming (OOP)

GUI development with Tkinter

Event handling

List and string manipulations

By implementing this application, beginners gain practical experience with real-world


applications of Python and enhance their problem-solving skills. This project can also be
extended further with features like saving tasks to a file, setting deadlines, and prioritizing
tasks — providing great scope for future development and learning.

14
7. REFERENCES
1. Python Official Documentation – https://docs.python.org/3/

2. Tkinter (Python GUI Library) Documentation –


https://docs.python.org/3/library/tkinter.html

3. GeeksforGeeks - GUI Programming with Tkinter –


https://www.geeksforgeeks.org/python-gui-tkinter/

4. W3Schools Python Tutorial – https://www.w3schools.com/python/

5. TutorialsPoint – Python Tkinter –


https://www.tutorialspoint.com/python/python_gui_programming.htm

6. Stack Overflow –
https://stackoverflow.com/ (For troubleshooting and best practices)

15

You might also like