鱼C论坛

 找回密码
 立即注册
查看: 1713|回复: 5

[作品展示] 花了一天做的一个简单的仓库管理系统

[复制链接]
发表于 2020-4-11 23:48:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
from tkinter import *
import pickle
from tkinter import messagebox

app=Tk()
app.title('仓库系统')
app.geometry('600x400')
var_print=StringVar()
dict1={}
def find_things():
    try:
        name = l.get(l.curselection())
        with open('仓库.pkl', 'rb') as ck:
            dict2 = pickle.load(ck)
        var_print.set(name + '的数量为 ' + str(dict2[name]) + ' 台')
    except:
        var_print.set('请点击需要查询的商品')

def out_things():
    try:
        name=l.get(l.curselection())
        def yes_re():
            number_1=e.get()
            with open('仓库.pkl', 'rb') as ck:
                dict2 = pickle.load(ck)
                dict2[name] = int(dict2[name]) - int(number_1)
            with open('仓库.pkl', 'wb') as ck:
                pickle.dump(dict2, ck)
                messagebox.showinfo(message='恭喜卖出!生意兴隆!')
                a.destroy()
        a=Toplevel(app)
        a.title('数量')
        a.geometry('200x100')
        e=Entry(a,width=10,font=('20'))
        e.pack()
        b_out=Button(a,text='确定',command=yes_re).pack()
    except:
        messagebox.showinfo(message='请输入')
def in_things():

    def save_things():
        name=e1.get()
        number_thing=e2.get()
        if name=='' or number_thing=='':
            messagebox.showinfo(message='请检查所输入的信息')
        else:
            with open('仓库.pkl','rb') as ck:
                dict2=pickle.load(ck)
            if name in dict2:
                dict2[name]=int(dict2[name])+int(number_thing)
            else:
                dict2[name] = number_thing
                l.insert('end', name)
            with open('仓库.pkl', 'wb') as ck:
                pickle.dump(dict2,ck)
                messagebox.showinfo(message='储存成功')
                ap.destroy()


    ap=Toplevel(app)
    ap.title('进货')
    ap.geometry('500x300')
    Label(ap,text='商品名称',font=(30)).place(x=100,y=90)
    Label(ap, text='进货数量', font=(30)).place(x=100, y=150)
    e1=Entry(ap,width=25)
    e1.place(x=220,y=90)
    e2=Entry(ap,width=25)
    e2.place(x=220,y=150)
    in_b=Button(ap,text='存入系统',font=('KaiTi',15,'bold'),command=save_things)
    in_b.place(x=350,y=200)

def delete_things():
    name=l.get(l.curselection())
    with open('仓库.pkl', 'rb') as ck:
        dict2=pickle.load(ck)
    del dict2[name]
    with open('仓库.pkl', 'wb') as ck:
        pickle.dump(dict2, ck)
    l.delete(l.curselection())
    messagebox.showinfo(message='删除成功')




b1=Button(app,text='查询此商品',command=find_things,font=('KaiTi',20,'bold')).place(x=250,y=160)
b2=Button(app,text='出仓',command=out_things,font=('KaiTi',20,'bold')).place(x=450,y=160)
b3=Button(app,text='进货',command=in_things,font=('KaiTi',20,'bold')).place(x=450,y=220)
b4=Button(app,text='删除该商品',command=delete_things,font=('KaiTi',20,'bold')).place(x=250,y=220)
l1=Label(app,textvariable=var_print,bg='pink',font=('KaiTi',15),width=40,height=3)
l1.place(x=180,y=20)

try:
    with open('仓库.pkl', 'rb') as ck:
        ck_text = pickle.load(ck)

except:
    with open('仓库.pkl', 'wb') as ck:
        ck_org = {'无': '无'}
        pickle.dump(ck_org, ck)
with open('仓库.pkl', 'rb') as ck:
    ck_text = pickle.load(ck)
    list1 = list(ck_text.keys())
var=StringVar()
var.set('')
l=Listbox(app,listvariable=var)
for i in range(len(list1)):
    l.insert('end',list1[i])
l.place(x=10,y=100)



app.mainloop()


file:///C:/Users/HP/Desktop/QQ%E6%88%AA%E5%9B%BE20200411234706.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-4-12 04:57:54 | 显示全部楼层
还没有学到这里,感觉好厉害!插一个眼等以后学到了再来观摩!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-12 09:36:15 | 显示全部楼层
写的时候尽量以代码的形式发布
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-4-12 10:14:26 | 显示全部楼层
因为你没用代码格式发布,所以代码出了点问题,给你改了一下
from tkinter import *
import pickle
from tkinter import messagebox

app=Tk()
app.title('仓库系统')
app.geometry('600x400')
var_print=StringVar()
dict1={}
def find_things():
    try:
        name = l.get(l.curselection())
        with open('仓库.pkl', 'rb') as ck:
            dict2 = pickle.load(ck)
        var_print.set(name + '的数量为 ' + str(dict2[name]) + ' 台')
    except:
        var_print.set('请点击需要查询的商品')

def out_things():
    try:
        name=l.get(l.curselection())
        def yes_re():
            number_1=e.get()
            with open('仓库.pkl', 'rb') as ck:
                dict2 = pickle.load(ck)
                dict2[name] = int(dict2[name]) - int(number_1)
            with open('仓库.pkl', 'wb') as ck:
                pickle.dump(dict2, ck)
                messagebox.showinfo(message='恭喜卖出!生意兴隆!')
                a.destroy()
        a=Toplevel(app)
        a.title('数量')
        a.geometry('200x100')
        e=Entry(a,width=10,font=('20'))
        e.pack()
        b_out=Button(a,text='确定',command=yes_re).pack()
    except:
        messagebox.showinfo(message='请输入')
def in_things():

    def save_things():
        name=e1.get()
        number_thing=e2.get()
        if name=='' or number_thing=='':
            messagebox.showinfo(message='请检查所输入的信息')
        else:
            with open('仓库.pkl','rb') as ck:
                dict2=pickle.load(ck)
            if name in dict2:
                dict2[name]=int(dict2[name])+int(number_thing)
            else:
                dict2[name] = number_thing
                l.insert('end', name)
            with open('仓库.pkl', 'wb') as ck:
                pickle.dump(dict2,ck)
                messagebox.showinfo(message='储存成功')
                ap.destroy()


    ap=Toplevel(app)
    ap.title('进货')
    ap.geometry('500x300')
    Label(ap,text='商品名称',font=(30)).place(x=100,y=90)
    Label(ap, text='进货数量', font=(30)).place(x=100, y=150)
    e1=Entry(ap,width=25)
    e1.place(x=220,y=90)
    e2=Entry(ap,width=25)
    e2.place(x=220,y=150)
    in_b=Button(ap,text='存入系统',font=('KaiTi',15,'bold'),command=save_things)
    in_b.place(x=350,y=200)

def delete_things():
    name=l.get(l.curselection())
    with open('仓库.pkl', 'rb') as ck:
        dict2=pickle.load(ck)
    del dict2[name]
    with open('仓库.pkl', 'wb') as ck:
        pickle.dump(dict2, ck)
    l.delete(l.curselection())
    messagebox.showinfo(message='删除成功')




b1=Button(app,text='查询此商品',command=find_things,font=('KaiTi',20,'bold')).place(x=250,y=160)
b2=Button(app,text='出仓',command=out_things,font=('KaiTi',20,'bold')).place(x=450,y=160)
b3=Button(app,text='进货',command=in_things,font=('KaiTi',20,'bold')).place(x=450,y=220)
b4=Button(app,text='删除该商品',command=delete_things,font=('KaiTi',20,'bold')).place(x=250,y=220)
l1=Label(app,textvariable=var_print,bg='pink',font=('KaiTi',15),width=40,height=3)
l1.place(x=180,y=20)

try:
    with open('仓库.pkl', 'rb') as ck:
        ck_text = pickle.load(ck)

except:
    with open('仓库.pkl', 'wb') as ck:
        ck_org = {'无': '无'}
        pickle.dump(ck_org, ck)
with open('仓库.pkl', 'rb') as ck:
    ck_text = pickle.load(ck)
    list1 = list(ck_text.keys())
var=StringVar()
var.set('')
l=Listbox(app,listvariable=var)
for i in range(len(list1)):
    l.insert('end',list1[i])
l.place(x=10,y=100)



app.mainloop()
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-4-12 10:48:28 | 显示全部楼层
挺牛的
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-4-12 16:16:43 | 显示全部楼层
永恒的蓝色梦想 发表于 2020-4-12 10:14
因为你没用代码格式发布,所以代码出了点问题,给你改了一下

感谢,第一次发,没注意
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-26 08:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表