def billing(): # to create bills for customer-------------------------------------------------------------BILLING system
global c, cur, apt, flag, t, name, name1, add, st, names, qty, sl, qtys, vc_id, n, namee, lb1
m_bill=make_bill()
t=0
vc_id=''
names=[]
qty=[]
sl=[]
n=[]
qtys=['']*10
cur.execute("select *from med")
for i in cur:
n.append(i[1])
c.commit()
if flag=='st':
st.destroy()
else:
apt.destroy()
flag='st'
st=Tk()
st.title('BILLING SYSTEM')
Label(st,text='-'*48+'BILLING SYSTEM'+'-'*49).grid(row=0,column=0,columnspan=7)
Label(st,text='Enter Name: ').grid(row=1,column=0)
name1=Entry(st)
name1.grid(row=1, column=1)
Label(st,text='Enter Address: ').grid(row=2,column=0)
add=Entry(st)
add.grid(row=2, column=1)
Label(st,text="Value Id (if available)").grid(row=3, column=0)
vc_id=Entry(st)
vc_id.grid(row=3, column=1)
Button(st,text='Check V.C.', command=blue).grid(row=4, column=0)
Label(st,text='-'*115).grid(row=6, column=0,columnspan=7)
Label(st,text='SELECT PRODUCT',width=25,relief='ridge').grid(row=7, column=0)
Label(st,text=' RACK QTY LEFT COST ',width=25,relief='ridge').grid(row=7, column=1)
Button(st,text='Add to bill',width=15,command=append2bill).grid(row=8, column=6)
Label(st,text='QUANTITY',width=20,relief='ridge').grid(row=7, column=5)
qtys=Entry(st)
qtys.grid(row=8,column=5)
refresh()
Button(st,width=15,text='Main Menu', command=main_menu).grid(row=1,column=6)
Button(st,width=15,text='Refresh Stock', command=refresh).grid(row=3,column=6)
Button(st,width=15,text='Reset Bill', command=billing).grid(row=4,column=6)
Button(st,width=15,text='Buy', command=lambda:send_mail(m_bill)).grid(row=5,column=6)
Button(st,width=15,text='Save Bill', command=make_bill().grid(row=7,column=6)
st.mainloop()
В приведенной выше функции я получаю странную ошибку в последней строке как st.mainloop
в качестве неверного синтаксиса.st.mainloop - это встроенная функция, предоставляемая Tkinter для запуска GUI в цикле.Я просто дергаю себя за это.