0% found this document useful (0 votes)
1K views

Pharmacy Management System Project in Python Using Tkinter

This document describes a pharmacy management system project created in Python using the Tkinter GUI library. It includes functions for adding, deleting, viewing, updating, and searching inventory items stored in a text file database. The GUI consists of labels, entries, and buttons laid out in a grid to allow users to interact with the various inventory management functions like adding a new item, viewing the next item, updating an existing item, etc. The project uses common Tkinter widgets and concepts like buttons, labels, entries and lays them out in a grid configuration to build the graphical user interface.

Uploaded by

PRIYAM XEROX
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)
1K views

Pharmacy Management System Project in Python Using Tkinter

This document describes a pharmacy management system project created in Python using the Tkinter GUI library. It includes functions for adding, deleting, viewing, updating, and searching inventory items stored in a text file database. The GUI consists of labels, entries, and buttons laid out in a grid to allow users to interact with the various inventory management functions like adding a new item, viewing the next item, updating an existing item, etc. The project uses common Tkinter widgets and concepts like buttons, labels, entries and lays them out in a grid configuration to build the graphical user interface.

Uploaded by

PRIYAM XEROX
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
You are on page 1/ 7

PHARMACY MANAGEMENT SYSTEM PROJECT IN PYTHON

USING TKINTER
CODING FOR PYTHON USING TKINTER
from tkinter import *
from tkinter import messagebox

import os
f=open("database",'a+')
root = Tk()
root.title("Pharmacy Managment System By - Sagar")
root.configure(width=1500,height=600,bg='BLACK')
var=-1
def additem():
global var
num_lines = 0
with open("database_proj", 'r') as f10:
for line in f10:
num_lines += 1
var=num_lines-1
e1= entry1.get()
e2=entry2.get()
e3=entry3.get()
e4=entry4.get()
e5=entry5.get()
f.write('{0} {1} {2} {3} {4}\n'.format(str(e1),e2,e3,str(e4),e5))
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
def deleteitem():
e1=entry1.get()
with open(r"database_proj") as f, open(r"database_proj1", "w") as working:
for line in f:
if str(e1) not in line:
working.write(line)
os.remove(r"database_proj")
os.rename(r"database_proj1", r"database_proj")
f.close()
working.close()
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
def firstitem():
global var
var=0
f.seek(var)
c=f.readline()
v=list(c.split(" "))
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
entry1.insert(0,str(v[0]))
entry2.insert(0,str(v[1]))
entry3.insert(0,str(v[2]))
entry4.insert(0,str(v[3]))
entry5.insert(0,str(v[4]))
def nextitem():
global var
var = var + 1
f.seek(var)
try:
c=f.readlines()
xyz = c[var]
v = list(xyz.split(" "))
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
entry1.insert(0, str(v[0]))
entry2.insert(0, str(v[1]))
entry3.insert(0, str(v[2]))
entry4.insert(0, str(v[3]))
entry5.insert(0, str(v[4]))
except:
messagebox.showinfo("Title", "SORRY!...NO MORE RECORDS")
def previousitem():
global var
var=var-1
f.seek(var)
try:
z = f.readlines()
xyz=z[var]
v = list(xyz.split(" "))
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
entry1.insert(0, str(v[0]))
entry2.insert(0, str(v[1]))
entry3.insert(0, str(v[2]))
entry4.insert(0, str(v[3]))
entry5.insert(0, str(v[4]))
except:
messagebox.showinfo("Title", "SORRY!...NO MORE RECORDS")
def lastitem():
global var
f4=open("database_proj",'r')
x=f4.read().splitlines()
last_line= x[-1]
num_lines = 0
with open("database_proj", 'r') as f8:
for line in f8:
num_lines += 1
var=num_lines-1
print(last_line)
try:
v = list(last_line.split(" "))
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
entry1.insert(0, str(v[0]))
entry2.insert(0, str(v[1]))
entry3.insert(0, str(v[2]))
entry4.insert(0, str(v[3]))
entry5.insert(0, str(v[4]))
except:
messagebox.showinfo("Title", "SORRY!...NO MORE RECORDS")
def updateitem():
e1 = entry1.get()
e2 = entry2.get()
e3 = entry3.get()
e4 = entry4.get()
e5 = entry5.get()
with open(r"database_proj") as f1, open(r"database_proj1", "w") as working:
for line in f1:
if str(e1) not in line:
working.write(line)
else:
working.write('{0} {1} {2} {3} {4}'.format(str(e1), e2, e3, str(e4), e5))
os.remove(r"database_proj")
#brought to you by code-projects.org
os.rename(r"database_proj1", r"database_proj")
def searchitem():
i=0
e11 = entry1.get()
with open(r"database_proj") as working:
for line in working:
i=i+1
if str(e11) in line:
break
try:
v = list(line.split(" "))
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
entry1.insert(0, str(v[0]))
entry2.insert(0, str(v[1]))
entry3.insert(0, str(v[2]))
entry4.insert(0, str(v[3]))
entry5.insert(0, str(v[4]))
except:
messagebox.showinfo("Title", "error end of file")
working.close()
def clearitem():
entry1.delete(0, END)
entry2.delete(0, END)
entry3.delete(0, END)
entry4.delete(0, END)
entry5.delete(0, END)
#fn1353
label0= Label(root,text="PHARMACY MANAGEMENT SYSTEM
",bg="black",fg="white",font=("Times", 30))
label1=Label(root,text="ENTER ITEM
NAME",bg="red",relief="ridge",fg="white",font=("Times", 12),width=25)
entry1=Entry(root , font=("Times", 12))
label2=Label(root, text="ENTER ITEM
PRICE",bd="2",relief="ridge",height="1",bg="red",fg="white", font=("Times",
12),width=25)
entry2= Entry(root, font=("Times", 12))
label3=Label(root, text="ENTER ITEM
QUANTITY",bd="2",relief="ridge",bg="red",fg="white", font=("Times", 12),width=25)
entry3= Entry(root, font=("Times", 12))
label4=Label(root, text="ENTER ITEM
CATEGORY",bd="2",relief="ridge",bg="red",fg="white", font=("Times", 12),width=25)
entry4= Entry(root, font=("Times", 12))
label5=Label(root, text="ENTER ITEM DISCOUNT",bg="red",relief="ridge",fg="white",
font=("Times", 12),width=25)
entry5= Entry(root, font=("Times", 12))
button1= Button(root, text="ADD ITEM", bg="white", fg="black", width=20,
font=("Times", 12),command=additem)
button2= Button(root, text="DELETE ITEM", bg="white", fg="black", width =20,
font=("Times", 12),command=deleteitem)
button3= Button(root, text="VIEW FIRST ITEM" , bg="white", fg="black", width =20,
font=("Times", 12),command=firstitem)
button4= Button(root, text="VIEW NEXT ITEM" , bg="white", fg="black", width =20,
font=("Times", 12), command=nextitem)
button5= Button(root, text="VIEW PREVIOUS ITEM", bg="white", fg="black", width =20,
font=("Times", 12),command=previousitem)
button6= Button(root, text="VIEW LAST ITEM", bg="white", fg="black", width =20,
font=("Times", 12),command=lastitem)
button7= Button(root, text="UPDATE ITEM", bg="white", fg="black", width =20,
font=("Times", 12),command=updateitem)
button8= Button(root, text="SEARCH ITEM", bg="white", fg="black", width =20,
font=("Times", 12),command=searchitem)
button9= Button(root, text="CLEAR SCREEN", bg="white", fg="black", width=20,
font=("Times", 12),command=clearitem)
label0.grid(columnspan=6, padx=10, pady=10)
label1.grid(row=1,column=0, sticky=W, padx=10, pady=10)
label2.grid(row=2,column=0, sticky=W, padx=10, pady=10)
label3.grid(row=3,column=0, sticky=W, padx=10, pady=10)
label4.grid(row=4,column=0, sticky=W, padx=10, pady=10)
label5.grid(row=5,column=0, sticky=W, padx=10, pady=10)
entry1.grid(row=1,column=1, padx=40, pady=10)
entry2.grid(row=2,column=1, padx=10, pady=10)
entry3.grid(row=3,column=1, padx=10, pady=10)
entry4.grid(row=4,column=1, padx=10, pady=10)
entry5.grid(row=5,column=1, padx=10, pady=10)
button1.grid(row=1,column=4, padx=40, pady=10)
button2.grid(row=1,column=5, padx=40, pady=10)
button3.grid(row=2,column=4, padx=40, pady=10)
button4.grid(row=2,column=5, padx=40, pady=10)
button5.grid(row=3,column=4, padx=40, pady=10)
button6.grid(row=3,column=5, padx=40, pady=10)
button7.grid(row=4,column=4, padx=40, pady=10)
button8.grid(row=4,column=5, padx=40, pady=10)
button9.grid(row=5,column=5, padx=40, pady=10)
root.mainloop()

You might also like