图书管理系统(GUI)————python

前言: 

一.摘要

    本代码主要为图书管理系统的‘增’、‘删’、‘改’、‘查’

二.题目

(1)图书添加:允许用户输入图书的名称和位置 
(2)图书删除
(3)图书位置修改:允许用户更改已存在图书的存放位置。
(4)图书信息查看
 (5)退出系统:结束程序循环

代码分析:

  1.设置窗口

import tkinter as tk              #导包
#1.设置窗口
win=tk.Tk()                       #实例化窗口
win.title('图书管理系统')          #设置窗口标题
win.geometry('400x540')           #设置窗口大小

2.设置大标签标题

Lt1=tk.Label(win,text='欢迎来到图书管理系统\n------------------------------------------',font=('Arial',13))
Lt1.pack()                  #布局管理器

3.设置书的信息标签

Lt2=tk.Label(win,text='place:')            #设置书的位置标签
Lt2.place(x=10,y=120)                      #设置标签的位置
t2=tk.Entry(win,width=13)                  #设置标签后的输入框
t2.place(x=50,y=120)                       #设置输入框的位置

Lt3=tk.Label(win,text='name:')             #设置书的名字标签
Lt3.place(x=200,y=120)                     #设置标签的位置
t3=tk.Entry(win,width=15)                  #设置标签后的输入框
t3.place(x=245,y=120)                      #设置输入框的位置 

4.创建列表框

place=[]                     #分别创建两个空列表
name=[]
book={}                      #定义一个字典把name和value分别看成key和value
var=tk.StringVar()           #创建字符串变量存储器
lb=tk.Listbox(win,width=30,height=6,selectmode='multiple')      # 创建列表框
lb.place(x=80,y=180)                                            #设置列表框位置

5.定义函数

 (1)定义添加图书函数

def add_book():                                             #定义添加图书函数
    place_value=t2.get()                                    #获取输入框中输入的值
    name_key=t3.get()
    if var.get()=='A':                                      #判断是否是添加图书按钮
        place.append(place_value)                           #把获取到的值添加到建好的空列表中
        name.append(name_key)
        book[name_key]=place_value                          #字典赋值
        lb.insert('end',name_key)                           #向列表框中插入数据
        t2.delete(0,'end')                                  #删除输入框中输入的
        t3.delete(0,'end')

(2)定义删除图书函数

def del_book():                                              #定义删除图书函数
    if var.get()=='B':                                       #判断是否是删除图书按钮
        lb.delete(lb.curselection())                         #删除光标选中的

(3)定义修改图书函数

def modify_book():                                   #定义修改图书函数
    if var.get()=='C':                               #判断是否是修改图书位置按钮
        select=lb.curselection()                     #定义一个变量
        new_place=t2.get()                           #获取输入框输入的
        index=select[0]                              #select[0]:相当于表示在列表中取出一个值
        place[index]=new_place                       #赋新的值
        t2.delete(0,'end')                           #删除输入框中的数据
        place[index]=new_place
    var1.set(f'更改后的位置编码为:{new_place}')      #输出

(4)定义选择查看图书函数

def select_book():                                              #定义选择查看图书函数
    if var.get()=='D':                                          #判断是否是产看图书按钮
        value=lb.get(lb.curselection())                         #获取光标选中的值的
        var1.set(f'书名:{value}\n书的位置编码:{book[value]}')  #输出

(5)定义退出系统的函数

def return_book():                                           #定义退出系统的函数
    if var.get()=='E':                                       #判断是否是退出系统的按钮
        win.quit()                                           #关闭界面

6.设置单选按钮并调用函数

r1=tk.Radiobutton(win,text='添加图书',variable=var,value='A',command=add_book)
r1.place(x=40,y=50)
r2=tk.Radiobutton(win,text='删除图书',variable=var,value='B',command=del_book)
r2.place(x=150,y=50)
r3=tk.Radiobutton(win,text='图书信息修改',variable=var,value='C',command=modify_book)
r3.place(x=260,y=50)
r5=tk.Radiobutton(win,text='图书信息查看',variable=var,value='D',command=select_book)
r5.place(x=40,y=90)
r6=tk.Radiobutton(win,text='退出系统',variable=var,value='E',command=return_book)
r6.place(x=150,y=90)

7.设置文本显示框

Lt4=tk.Label(win,text='图书目录 :')                     #设置标签
Lt4.place(x=40,y=155)                                   #设置标签的位置
var1=tk.StringVar()                                     #定义一个变量
Lt5=tk.Label(win,textvariable=var1,width=30,height=9)   #设置一个文本可以改变的空标签
Lt5.place(x=80,y=347)                                   #设置它的位置
Lt6=tk.Label(win,text='图书信息显示台 :')               #给刚设置好的空标签设置一个标签(名)
Lt6.place(x=40,y=320)                                   #设置位置

8.设置总按钮

btn=tk.Button(win,command=lambda :{'A':add_book,'B':del_book,'C':modify_book,'D':select_book,'E':return_book})
btn.place(x=600,y=500)       
#通过使用commend,分别指向不同的匿名函数(一行表达式),来区分每个按钮

9.执行程序

win.mainloop()

全部代码:

import tkinter as tk
#1.设置窗口
win=tk.Tk()
win.title('图书管理系统')
win.geometry('400x540')
#2.设置大标签标题
Lt1=tk.Label(win,text='欢迎来到图书管理系统\n------------------------------------------',font=('Arial',13))
Lt1.pack()                  #布局管理器

#2.设置书的信息标签
Lt2=tk.Label(win,text='place:')            #设置标签
Lt2.place(x=10,y=120)                      #设置位置
t2=tk.Entry(win,width=13)                  #设置标签后的输入框
t2.place(x=50,y=120)                       #设置位置

Lt3=tk.Label(win,text='name:')
Lt3.place(x=200,y=120)
t3=tk.Entry(win,width=15)
t3.place(x=245,y=120)

#3.创建列表框
place=[]        #分别创建两个空列表
name=[]
book={}         #定义一个字典把name和value分别看成key和value
var=tk.StringVar()         #创建变量
lb=tk.Listbox(win,width=30,height=6,selectmode='multiple')    # 创建列表框
lb.place(x=80,y=180)                                          #设置列表框位置

#7.定义函数
def add_book():                                              #定义添加图书函数
    place_value=t2.get()                                     #获取输入框中输入的值
    name_key=t3.get()
    if var.get()=='A':                                       #判断是否是添加图书按钮
        place.append(place_value)                            #把获取到的值添加到建好的空列表中
        name.append(name_key)
        book[name_key]=place_value                           #字典赋值
        lb.insert('end',name_key)              #向列表框中插入数据
        t2.delete(0,'end')                          #删除输入框中输入的
        t3.delete(0,'end')
def del_book():                                              #定义删除图书函数
    if var.get()=='B':                                       #判断是否是删除图书按钮
        lb.delete(lb.curselection())                         #删除光标选中的

def modify_book():                                           #定义修改图书函数
    if var.get()=='C':                                       #判断是否是修改图书位置按钮
        select=lb.curselection()                             #定义一个变量
        new_place=t2.get()                                   #获取输入框输入的
        index=select[0]                                      #select[0]:相当于表示在列表中取出一个值
        place[index]=new_place                               #赋新的值
        t2.delete(0,'end')                          #删除输入框中的数据
        place[index]=new_place
    var1.set(f'更改后的位置编码为:{new_place}')                 #输出

def select_book():                                           #定义选择查看图书函数
    if var.get()=='D':                                       #判断是否是产看图书按钮
        value=lb.get(lb.curselection())                      #获取光标选中的值的
        var1.set(f'书名:{value}\n书的位置编码:{book[value]}')  #输出

def return_book():                                           #定义退出系统的函数
    if var.get()=='E':                                       #判断是否是退出系统的按钮
        win.quit()                                           #关闭界面

#4.设置按钮
r1=tk.Radiobutton(win,text='添加图书',variable=var,value='A',command=add_book)
r1.place(x=40,y=50)
r2=tk.Radiobutton(win,text='删除图书',variable=var,value='B',command=del_book)
r2.place(x=150,y=50)
r3=tk.Radiobutton(win,text='图书信息修改',variable=var,value='C',command=modify_book)
r3.place(x=260,y=50)
r5=tk.Radiobutton(win,text='图书信息查看',variable=var,value='D',command=select_book)
r5.place(x=40,y=90)
r6=tk.Radiobutton(win,text='退出系统',variable=var,value='E',command=return_book)
r6.place(x=150,y=90)
#5.文本显示框
Lt4=tk.Label(win,text='图书目录 :')                        #设置标签
Lt4.place(x=40,y=155)                                     #设置标签的位置
var1=tk.StringVar()                                       #定义一个变量
Lt5=tk.Label(win,textvariable=var1,width=30,height=9)     #设置一个文本可以改变的空标签
Lt5.place(x=80,y=347)                                     #设置它的位置
Lt6=tk.Label(win,text='图书信息显示台 :')                   #给刚设置好的空标签设置一个标签(名)
Lt6.place(x=40,y=320)                                     #设置位置
#6.设置按钮
btn=tk.Button(win,command=lambda :{'A':add_book,'B':del_book,'C':modify_book,'D':select_book,'E':return_book})
btn.place(x=600,y=500)       #通过使用commend,分别指向不同的匿名函数(一行表达式),来区分每个按钮
#8.执行程序
win.mainloop()

程序运行效果:

                        

输入place和name后点击添加图书,图书被添加到图书目录中,完成添加图书操作

                        

光标选中想要删除的图书后点击删除图书按钮,即完成删除图书操作

光标选中想要修改的图书位置,在place中输入想要改的新位置,点击按钮即可完成

                       

光标选中想要查看的图书,点击图书信息查看,即可在图书信息显示台显示图书信息

点击退出程序即可直接关闭窗口

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值