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