CODE::
from tkinter import *
import tkinter.messagebox
class Library:
def __init_(self, root):
self.root = root
self.root.title(" Library Management System ")
self.root.geometry("1350x750+0+0")
MTy = StringVar()
Ref = StringVar()
Title = StringVar()
fna = StringVar()
sna = StringVar()
Adr1 = StringVar()
Adr2 = StringVar()
pcd = StringVar()
MNo = StringVar()
BkID = StringVar()
Bkt = StringVar()
BkT = StringVar()
Atr = StringVar()
DBo = StringVar()
Ddu = StringVar()
sPr = StringVar()
Lrf = StringVar()
Dod = StringVar()
DonL = StringVar()
#============================================FRAMES=================================================#
MainFrame = Frame(self.root)
MainFrame.grid()
Title_Frame = Frame(MainFrame, bd=2, padx=40, pady=8, bg='cadet blue', relief=RIDGE)
Title_Frame.grid(side=TOP)
self.lblTitle = Label(Title_Frame, font=('arial', 46, 'bold'), text=" Library Management System ")
self.lblTitle.grid(sticky=W)
ButtonFrame = Frame(MainFrame, bd=2, width=1350, height=100, padx=20, pady=20, bg='Cadet Blue', relief=RIDGE)
ButtonFrame.pack(side=BOTTOM)
FrameDetail = Frame(MainFrame, bd=0, width=1350, height=50, padx=20, relief=RIDGE)
FrameDetail.pack(side=BOTTOM)
DataFrame = Frame(MainFrame, bd=1, width=1300, height=400, padx=20, pady=20, relief=RIDGE)
DataFrame.pack(side=BOTTOM)
DataFrameLEFT = LabelFrame(DataFrame, bd=1, width=800, height=300, padx=20, relief=RIDGE,
font=('arial', 12, 'bold'), text=' Library Member Info ', bg='Cadet Blue')
DataFrameLEFT.pack(side=LEFT)
DataFrameRIGHT = LabelFrame(DataFrame, bd=1, width=450, height=300, padx=20, pady=3, relief=RIDGE,
font=('arial', 12, 'bold'), text=' Book Details ', bg='Cadet Blue')
DataFrameRIGHT.pack(side=RIGHT)
if __name__ == '__main__':
root = Tk()
application = Library(root)
root.mainloop()
Error::
Traceback (most recent call last): File “C:/Users/Jedi/PycharmProjects/LMS/main.py”, line 5, in class Library: File “C:/Users/Jedi/PycharmProjects/LMS/main.py”, line 62, in Library application = Library(root) NameError: name ‘Library’ is not defined
Process finished with exit code 1
Advertisement
Answer
Firstly, your indentation is wrong, you have to place the if on the same indentation level as class, like:
class Library: ..... if __name__ == '__main__': ....
Secondly, but most importantly, your def __init_() has a typo, it should be __init__() with two underscore trailing and leading init, but you gave just one(trailing).
class Library:
def __init__(self, root):
self.root = root
.....
But even after doing all this, you will get another error at Title_Frame.grid(side=TOP), because grid() has not option side, it is the option of pack(), so change that to:
Title_Frame.pack(side=TOP)