|
|

楼主 |
发表于 2019-4-2 15:46:57
|
显示全部楼层
- root3 = Tk()
- root3.title("销售系统 demo")
- root3.geometry('900x600')
- def buy():
- group2 = LabelFrame(buttom,background='lightsteelblue',bd=2)
- group2.pack(fill=BOTH,side='top')
- group3 = LabelFrame(buttom,padx=5,pady=5,bd=2)
- group3.pack(fill=BOTH,side='bottom')
- label1 = Label(group2,text="用户:"+str(en1),font="黑体")
- label1.grid(row=0,column=0,sticky=W,padx=10,pady=3)
- label1 = Label(group2,text=" ")
- label1.grid(row=0,column=1,sticky=W,padx=10,pady=3)
- entry = Entry(group2)
- entry.grid(row=0,column=2,padx=10,pady=3)
- label1 = Label(group2,text=" ")
- label1.grid(row=0,column=3,sticky=W,padx=10,pady=3)
- button = Button(group2,text="press",width=10)
- button.grid(row=0,column=4,padx=10,pady=3,stick=E,columnspan=4,ipadx=3)
- db = pymysql.connect('localhost','root','root','medicine')
- cur = db.cursor()
- sql = 'select * from user'
- cur.execute(sql)
- user_x = []
- user_y = []
- results = list(cur.fetchall())
- for row in results:
- user_x.append(row[0])
- user_y.append(row[1])
- data = np.array([user_x,user_y])
- x = user_x[0:6]
- y = user_y[0:6]
- m = user_x[-2:]
- n = user_y[-2:]
- data1 = np.array([x+['...']+m,y+['...']+n])
- df = DataFrame(data.T,columns=["账号","密码"])
- matplotlib.use('TkAgg')
- mpl.rcParams['font.sans-serif'] = ['SimHei']
- f = plt.figure(figsize=(7.6,5.2))
- a = f.add_subplot(111,frameon=False,xticks=[],yticks=[])
- a.set_title("用户信息表",fontsize='xx-large')
- p = df.index[-2]+1
- q = df.index[-1]+1
- table = plt.table(cellText=data1.T,colLabels=df.columns,rowLabels=['1','2','3','4','5','6','...']+[str(p),str(q)],colWidths=[0.1]*data.shape[1],loc='upper center',cellLoc='center')
- table.set_fontsize(14)
- table.scale(5,2.5)
- canvas = FigureCanvasTkAgg(f, master=group3)
- canvas.draw()
- canvas.get_tk_widget().pack()
- def sell():
- group2 = LabelFrame(buttom,background='lightsteelblue',bd=2)
- group2.pack(fill=BOTH,side='top')
- group3 = LabelFrame(buttom,padx=5,pady=5,bd=2)
- group3.pack(fill=BOTH,side='bottom')
- label1 = Label(group2,text="用户:"+str(en1),font="黑体")
- label1.grid(row=0,column=0,sticky=W,padx=10,pady=3)
- label1 = Label(group2,text=" ")
- label1.grid(row=0,column=1,sticky=W,padx=10,pady=3)
- entry = Entry(group2)
- entry.grid(row=0,column=2,padx=10,pady=3)
- label1 = Label(group2,text=" ")
- label1.grid(row=0,column=3,sticky=W,padx=10,pady=3)
- button = Button(group2,text="press",width=10)
- button.grid(row=0,column=4,padx=10,pady=3,stick=E,columnspan=4,ipadx=3)
- db = pymysql.connect('localhost','root','root','medicine')
- cur = db.cursor()
- sql = 'select * from tb_purchase'
- cur.execute(sql)
- user_x = []
- user_y = []
- user_z = []
- user_w = []
- results = list(cur.fetchall())
- print(results)
- for row in results:
- user_x.append(row[0])
- user_y.append(row[1])
- user_z.append(row[2])
- user_w.append(row[3])
- x = user_x[0:6]
- y = user_y[0:6]
- z = user_z[0:6]
- w = user_w[0:6]
- m = user_x[-2:]
- n = user_y[-2:]
- p = user_z[-2:]
- q = user_w[-2:]
- data = np.array([user_x,user_y,user_z,user_w])
- data1 = np.array([x+['...']+m,y+['...']+n,z+['...']+p,w+['...']+q])
- df = DataFrame(data.T,columns=["药品","供应商","总销售额","增长"])
- matplotlib.use('TkAgg')
- mpl.rcParams['font.sans-serif'] = ['SimHei']
- f = plt.figure(figsize=(7.6,5.2))
- a = f.add_subplot(111,frameon=False,xticks=[],yticks=[])
- a.set_title("销售信息表",loc='center',pad=10,fontsize='xx-large')
- a = df.index[-2]+1
- b = df.index[-1]+1
- table = plt.table(cellText=data1.T,colLabels=df.columns,rowLabels=['1','2','3','4','5','6','...']+[str(a),str(b)],colWidths=[0.1]*data.shape[1],loc='upper center',cellLoc='center')
- table.set_fontsize(14)
- table.scale(3,2.5)
- canvas = FigureCanvasTkAgg(f, master=group3)
- canvas.draw()
- canvas.get_tk_widget().pack()
- def maneage():
- pass
- def user():
- pass
- root3.resizable(width=False,height=False)
- m1 = PanedWindow(root3,showhandle=False, sashrelief=SUNKEN)
- m1.pack(fill=BOTH, expand=1)
- #m1.sash_coord(100,0)
- group1 = LabelFrame(m1,padx=5,pady=5,background='lightsteelblue')
- group1.pack(padx=5,pady=5)
- LANGS = [
- ("采购部",1),("库管部",2),("销售部",3),("用户部",4)]
- v = IntVar()
- for lang,num in LANGS:
- if num == 1:
- temp = buy
- elif num == 2:
- temp = sell
- elif num == 3:
- temp = maneage
- else:
- temp = user
- b = Radiobutton(group1,text=lang,variable=v,value=num,indicatoron=False,width=15,command=temp,background='lightgreen',padx=5,pady=4)
- b.pack(fill=BOTH)
- m1.add(group1)
- m2 = PanedWindow(root3,orient=VERTICAL, showhandle=False, sashrelief=SUNKEN)
- m1.add(m2)
- top = Label(m2, text="Welcome To Our Medicine Invoicing System",font=("华文宋体",20),height=4,background='lightsteelblue')
- m2.add(top)
- buttom = Label(m2,padx=5,pady=5)
- m2.add(buttom)
- root3.mainloop()
复制代码
截取这部分的完整代码。分别用采购部和库管部两个按钮控制buy函数和sell函数显示在group3窗口上,
如题,不能顺利显示。 |
|