Skip to content

Commit e2daa3d

Browse files
committed
Updated Section-05 Library Management
1 parent 0be2fac commit e2daa3d

File tree

10 files changed

+906
-133
lines changed

10 files changed

+906
-133
lines changed

Section-05/Main.py

Lines changed: 85 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@
55
from MainWindow_GUI import Ui_MainWindow
66
from AddBook import Add_Dialog
77
from AddMember import Member_Dialog
8+
from ViewBook import View_Dialog
9+
from ViewMember import ViewMember_Dialog
10+
import mysql.connector as mc
811

912
class LibrarySystem(QMainWindow, Ui_MainWindow):
1013
def __init__(self):
@@ -15,22 +18,103 @@ def __init__(self):
1518
#--------Connect Signal------------
1619
self.toolButton_addbook.clicked.connect(self.add_book)
1720
self.toolButton_addmember.clicked.connect(self.add_member)
21+
self.toolButton_viewbook.clicked.connect(self.view_books)
22+
self.toolButton_viewmember.clicked.connect(self.view_member)
23+
self.lineEdit_bookid.returnPressed.connect(self.book_id)
24+
self.lineEdit_memberid.returnPressed.connect(self.member_id)
1825

1926

2027
def add_book(self):
2128
dialog = QDialog()
2229
ui = Add_Dialog()
23-
2430
ui.setupUi(dialog)
2531
dialog.exec()
2632

2733
def add_member(self):
2834
dialog = QDialog()
2935
ui = Member_Dialog()
36+
ui.setupUi(dialog)
37+
dialog.exec()
3038

39+
def view_books(self):
40+
dialog = QDialog()
41+
ui = View_Dialog()
3142
ui.setupUi(dialog)
3243
dialog.exec()
3344

45+
def view_member(self):
46+
dialog = QDialog()
47+
ui = ViewMember_Dialog()
48+
ui.setupUi(dialog)
49+
dialog.exec()
50+
51+
#----------------Book Id Search Section-----------------
52+
53+
import mysql.connector as mc # Make sure you have the MySQL Connector Python library installed
54+
55+
def book_id(self):
56+
id = self.lineEdit_bookid.text()
57+
58+
try:
59+
mydb = mc.connect(
60+
host="localhost",
61+
user="root",
62+
password="",
63+
database="library_managemenet"
64+
)
65+
66+
mycursor = mydb.cursor()
67+
query = "SELECT * FROM addbook_table WHERE id = '" + id + "'"
68+
mycursor.execute(query)
69+
70+
result = mycursor.fetchall()
71+
72+
if len(result) == 0:
73+
# Book ID not found in the database, show a message
74+
self.label_bookname.setText("<font color='red'>Book not found</font>")
75+
self.label_bookauthor.setText("")
76+
else:
77+
for row in result:
78+
self.label_bookname.setText(row[0])
79+
self.label_bookauthor.setText(row[2])
80+
81+
except mc.Error as e:
82+
print("Error")
83+
84+
85+
#------------------Member id Section---------------------
86+
87+
def member_id(self):
88+
id = self.lineEdit_memberid.text()
89+
90+
try:
91+
mydb = mc.connect(
92+
host = "localhost",
93+
user="root",
94+
password="",
95+
database="library_managemenet"
96+
)
97+
98+
mycursor = mydb.cursor()
99+
query = "SELECT * FROM addmember_table WHERE memberid = '"+id+"'"
100+
mycursor.execute(query)
101+
102+
result = mycursor.fetchall()
103+
104+
if len(result) == 0:
105+
# Book ID not found in the database, show a message
106+
self.label_membername.setText("<font color='red'>Member not found</font>")
107+
self.label_contactinfo.setText("")
108+
else:
109+
for row in result:
110+
self.label_membername.setText(row[1])
111+
self.label_contactinfo.setText(row[2])
112+
except mc.Error as e:
113+
print("Error")
114+
115+
116+
117+
34118
app = QApplication(sys.argv)
35119
library = LibrarySystem()
36120

Section-05/MainGUI.ui

Lines changed: 71 additions & 81 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@
2929
<enum>QTabWidget::Rounded</enum>
3030
</property>
3131
<property name="currentIndex">
32-
<number>1</number>
32+
<number>0</number>
3333
</property>
3434
<widget class="QWidget" name="tab">
3535
<attribute name="title">
@@ -43,23 +43,7 @@
4343
background-color: #f0f8ff
4444
}</string>
4545
</property>
46-
<layout class="QHBoxLayout" name="horizontalLayout_2">
47-
<item>
48-
<spacer name="horizontalSpacer_5">
49-
<property name="orientation">
50-
<enum>Qt::Horizontal</enum>
51-
</property>
52-
<property name="sizeType">
53-
<enum>QSizePolicy::Preferred</enum>
54-
</property>
55-
<property name="sizeHint" stdset="0">
56-
<size>
57-
<width>40</width>
58-
<height>20</height>
59-
</size>
60-
</property>
61-
</spacer>
62-
</item>
46+
<layout class="QVBoxLayout" name="verticalLayout_3">
6347
<item>
6448
<widget class="QLineEdit" name="lineEdit_bookid">
6549
<property name="maximumSize">
@@ -74,52 +58,60 @@ background-color: #f0f8ff
7458
</widget>
7559
</item>
7660
<item>
77-
<spacer name="horizontalSpacer">
78-
<property name="orientation">
79-
<enum>Qt::Horizontal</enum>
80-
</property>
81-
<property name="sizeType">
82-
<enum>QSizePolicy::Preferred</enum>
83-
</property>
84-
<property name="sizeHint" stdset="0">
85-
<size>
86-
<width>50</width>
87-
<height>20</height>
88-
</size>
89-
</property>
90-
</spacer>
61+
<layout class="QHBoxLayout" name="horizontalLayout_6">
62+
<item>
63+
<widget class="QLabel" name="label_bookname_2">
64+
<property name="font">
65+
<font>
66+
<pointsize>10</pointsize>
67+
<bold>true</bold>
68+
</font>
69+
</property>
70+
<property name="text">
71+
<string>Book Name:</string>
72+
</property>
73+
</widget>
74+
</item>
75+
<item>
76+
<widget class="QLabel" name="label_bookname">
77+
<property name="font">
78+
<font>
79+
<pointsize>10</pointsize>
80+
<bold>true</bold>
81+
</font>
82+
</property>
83+
<property name="text">
84+
<string/>
85+
</property>
86+
</widget>
87+
</item>
88+
</layout>
9189
</item>
9290
<item>
93-
<layout class="QVBoxLayout" name="verticalLayout_2">
94-
<property name="spacing">
95-
<number>0</number>
96-
</property>
97-
<property name="sizeConstraint">
98-
<enum>QLayout::SetDefaultConstraint</enum>
99-
</property>
91+
<layout class="QHBoxLayout" name="horizontalLayout_7">
10092
<item>
101-
<widget class="QLabel" name="label_bookname">
93+
<widget class="QLabel" name="label_bookauthor_2">
10294
<property name="font">
10395
<font>
104-
<pointsize>12</pointsize>
96+
<pointsize>10</pointsize>
10597
<bold>true</bold>
10698
</font>
10799
</property>
108100
<property name="text">
109-
<string>Book Name</string>
101+
<string>Book Author:</string>
110102
</property>
111103
</widget>
112104
</item>
113105
<item>
114106
<widget class="QLabel" name="label_bookauthor">
115107
<property name="font">
116108
<font>
117-
<pointsize>12</pointsize>
109+
<pointsize>10</pointsize>
118110
<bold>true</bold>
119111
</font>
120112
</property>
121113
<property name="text">
122-
<string>Book Author</string>
114+
<string/>
123115
</property>
124116
</widget>
125117
</item>
@@ -135,23 +127,7 @@ background-color: #f0f8ff
135127
background-color: #f0f8ff
136128
}</string>
137129
</property>
138-
<layout class="QHBoxLayout" name="horizontalLayout_3">
139-
<item>
140-
<spacer name="horizontalSpacer_6">
141-
<property name="orientation">
142-
<enum>Qt::Horizontal</enum>
143-
</property>
144-
<property name="sizeType">
145-
<enum>QSizePolicy::Preferred</enum>
146-
</property>
147-
<property name="sizeHint" stdset="0">
148-
<size>
149-
<width>30</width>
150-
<height>20</height>
151-
</size>
152-
</property>
153-
</spacer>
154-
</item>
130+
<layout class="QVBoxLayout" name="verticalLayout_2">
155131
<item>
156132
<widget class="QLineEdit" name="lineEdit_memberid">
157133
<property name="maximumSize">
@@ -166,46 +142,60 @@ background-color: #f0f8ff
166142
</widget>
167143
</item>
168144
<item>
169-
<spacer name="horizontalSpacer_2">
170-
<property name="orientation">
171-
<enum>Qt::Horizontal</enum>
172-
</property>
173-
<property name="sizeType">
174-
<enum>QSizePolicy::Preferred</enum>
175-
</property>
176-
<property name="sizeHint" stdset="0">
177-
<size>
178-
<width>30</width>
179-
<height>20</height>
180-
</size>
181-
</property>
182-
</spacer>
145+
<layout class="QHBoxLayout" name="horizontalLayout_2">
146+
<item>
147+
<widget class="QLabel" name="label_membername_2">
148+
<property name="font">
149+
<font>
150+
<pointsize>10</pointsize>
151+
<bold>true</bold>
152+
</font>
153+
</property>
154+
<property name="text">
155+
<string>Member Name:</string>
156+
</property>
157+
</widget>
158+
</item>
159+
<item>
160+
<widget class="QLabel" name="label_membername">
161+
<property name="font">
162+
<font>
163+
<pointsize>10</pointsize>
164+
<bold>true</bold>
165+
</font>
166+
</property>
167+
<property name="text">
168+
<string/>
169+
</property>
170+
</widget>
171+
</item>
172+
</layout>
183173
</item>
184174
<item>
185-
<layout class="QVBoxLayout" name="verticalLayout_3">
175+
<layout class="QHBoxLayout" name="horizontalLayout_3">
186176
<item>
187-
<widget class="QLabel" name="label_membername">
177+
<widget class="QLabel" name="label_contactinfo_2">
188178
<property name="font">
189179
<font>
190-
<pointsize>12</pointsize>
180+
<pointsize>10</pointsize>
191181
<bold>true</bold>
192182
</font>
193183
</property>
194184
<property name="text">
195-
<string>Member Name</string>
185+
<string>Contact Info:</string>
196186
</property>
197187
</widget>
198188
</item>
199189
<item>
200190
<widget class="QLabel" name="label_contactinfo">
201191
<property name="font">
202192
<font>
203-
<pointsize>12</pointsize>
193+
<pointsize>10</pointsize>
204194
<bold>true</bold>
205195
</font>
206196
</property>
207197
<property name="text">
208-
<string>Contact Info</string>
198+
<string/>
209199
</property>
210200
</widget>
211201
</item>

0 commit comments

Comments
 (0)