Skip to content

Commit 0e28d95

Browse files
authored
🐍
1 parent 52046b0 commit 0e28d95

File tree

1 file changed

+116
-0
lines changed

1 file changed

+116
-0
lines changed

Library Management System.py

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
import tkinter as tk
2+
from tkinter import messagebox
3+
4+
class LibraryManagement:
5+
def __init__(self, master):
6+
self.master = master
7+
self.master.title("Library Management System")
8+
self.master.geometry("400x400")
9+
self.master.config(bg='#708090')
10+
11+
self.books = []
12+
self.lend_list = []
13+
14+
# Labels
15+
self.login_label = tk.Label(self.master, text="Library Management System", font=("Helvetica", 16), bg='#708090', fg='white')
16+
self.login_label.pack()
17+
self.username_label = tk.Label(self.master, text="Username", font=("Helvetica", 12), bg='#708090', fg='white')
18+
self.username_label.pack()
19+
self.username_entry = tk.Entry(self.master, font=("Helvetica", 12))
20+
self.username_entry.pack()
21+
self.password_label = tk.Label(self.master, text="Password", font=("Helvetica", 12), bg='#708090', fg='white')
22+
self.password_label.pack()
23+
self.password_entry = tk.Entry(self.master, font=("Helvetica", 12), show="*")
24+
self.password_entry.pack()
25+
26+
# Login
27+
self.login_button = tk.Button(self.master, text="Login", command=self.login, font=("Helvetica", 12))
28+
self.login_button.pack()
29+
30+
# Register
31+
self.register_button = tk.Button(self.master, text="Register", command=self.register, font=("Helvetica", 12))
32+
self.register_button.pack()
33+
34+
self.username = ""
35+
self.password = ""
36+
self.librarians = []
37+
38+
def login(self):
39+
self.username = self.username_entry.get()
40+
self.password = self.password_entry.get()
41+
for librarian in self.librarians:
42+
if self.username == librarian[0] and self.password == librarian[1]:
43+
self.username_entry.delete(0, tk.END)
44+
self.password_entry.delete(0, tk.END)
45+
self.login_label.destroy()
46+
self.username_label.destroy()
47+
self.username_entry.destroy()
48+
self.password_label.destroy()
49+
self.password_entry.destroy()
50+
self.login_button.destroy()
51+
self.register_button.destroy()
52+
self.library_management_screen()
53+
return
54+
messagebox.showerror("Error", "Invalid username or password")
55+
56+
def register(self):
57+
self.username = self.username_entry.get()
58+
self.password = self.password_entry.get()
59+
self.librarians.append([self.username, self.password])
60+
self.username_entry.delete(0, tk.END)
61+
self.password_entry.delete(0, tk.END)
62+
def library_management_screen(self):
63+
self.add_book_label = tk.Label(self.master, text="Add Book", font=("Helvetica", 16), bg='#708090', fg='white')
64+
self.add_book_label.pack()
65+
self.add_book_entry = tk.Entry(self.master, font=("Helvetica", 12))
66+
self.add_book_entry.pack()
67+
self.add_book_button = tk.Button(self.master, text="Add Book", command=self.add_book, font=("Helvetica", 12))
68+
self.add_book_button.pack()
69+
self.remove_book_label = tk.Label(self.master, text="Remove Book", font=("Helvetica", 16), bg='#708090', fg='white')
70+
self.remove_book_label.pack()
71+
self.remove_book_entry = tk.Entry(self.master, font=("Helvetica", 12))
72+
self.remove_book_entry.pack()
73+
self.remove_book_button = tk.Button(self.master, text="Remove Book", command=self.remove_book, font=("Helvetica", 12))
74+
self.remove_book_button.pack()
75+
self.issue_book_label = tk.Label(self.master, text="Issue Book", font=("Helvetica", 16), bg='#708090', fg='white')
76+
self.issue_book_label.pack()
77+
self.issue_book_entry = tk.Entry(self.master, font=("Helvetica", 12))
78+
self.issue_book_entry.pack()
79+
self.issue_book_button = tk.Button(self.master, text="Issue Book", command=self.issue_book, font=("Helvetica", 12))
80+
self.issue_book_button.pack()
81+
self.view_books_button = tk.Button(self.master, text="View Books", command=self.view_books, font=("Helvetica", 12))
82+
self.view_books_button.pack()
83+
84+
def add_book(self):
85+
book = self.add_book_entry.get()
86+
self.books.append(book)
87+
messagebox.showinfo("Success", "Book added successfully")
88+
self.add_book_entry.delete(0, tk.END)
89+
90+
def remove_book(self):
91+
book = self.remove_book_entry.get()
92+
if book in self.books:
93+
self.books.remove(book)
94+
messagebox.showinfo("Success", "Book removed successfully")
95+
else:
96+
messagebox.showerror("Error", "Book not found")
97+
self.remove_book_entry.delete(0, tk.END)
98+
99+
def issue_book(self):
100+
book = self.issue_book_entry.get()
101+
if book in self.books:
102+
self.lend_list.append(book)
103+
self.books.remove(book)
104+
messagebox.showinfo("Success", "Book issued successfully")
105+
else:
106+
messagebox.showerror("Error", "Book not found")
107+
self.issue_book_entry.delete(0, tk.END)
108+
109+
def view_books(self):
110+
message = "\n".join(self.books)
111+
messagebox.showinfo("Books", message)
112+
113+
if __name__ == "__main__":
114+
root = tk.Tk()
115+
app = LibraryManagement(root)
116+
root.mainloop()

0 commit comments

Comments
 (0)