赞
踩
大家好,小编来为大家解答以下问题,如何python图书管理系统界面,图书管理系统登录界面python,现在让我们一起来看看吧!
图书管理系统:界面设计的比较丑请忽略
数据要求
根据系统的需求,将需要的数据分类记录如下:
(1) 图书信息:编号、名称、储量、作者、出版时间
(2) 图书借阅信息:读者学号、图书编号、记录编号、借书日期、还书日期
(3) 读者信息:学号、姓名、性别、班级、剩余最大借书量
(4) 管理者信息:管理者姓名、职工号、权限级别
在这里插入图片描述
- import tkinter as tk
- import tkinter.messagebox as msg
- import pymysql
- import os
-
- BACK_PATH="resources"+os.sep+"background.gif"
-
-
- def check_book():
- db = pymysql.connect("localhost", "root", "*****", "library")
- cursor = db.cursor()
- a = input_book.get()
- sql = "SELECT * FROM book WHERE bname = '%s'" % (a)
- cursor.execute(sql)
- results = cursor.fetchone()
- if results:
- root3 = tk.Tk()
- root3.title('查询到的书')
- val = "您要查询的书号为:%s" % (results[0])
- print1 = tk.Label(root3, text=val)
- print1.grid(row=0, column=0, padx=10, pady=5)
- val = "您要查询的书号为:%s" % (results[0])
- print2 = tk.Label(root3, text=val)
- print2.grid(row=1, column=0, padx=10, pady=5)
- val = "您要查询的书的作者为:%s" % (results[1])
- print3 = tk.Label(root3, text=val)
- print3.grid(row=2, column=0, padx=10, pady=5)
- val = "您要查询的书的作者为:%s" % (results[2])
- print4 = tk.Label(root3, text=val)
- print4.grid(row=3, column=0, padx=10, pady=5)
- val = "您要查询的书名为:%s" % (results[3])
- print5 = tk.Label(root3, text=val)
- print5.grid(row=4, column=0, padx=10, pady=5)
- val = "您要查询的书的出版日期为:%s" % (results[4])
- print6 = tk.Label(root3, text=val)
- print6.grid(row=5, column=0, padx=10, pady=5)
- else:
- msg._show(title='错误', message='没有查到您要查询的记录')
- db.close()
-
- def borrow_end():
- db = pymysql.connect("localhost", "root", "*****", "library")
- cursor = db.cursor()
- id = input_id.get()
- name = input8.get()
- sql = "SELECT bid,num FROM book WHERE bname='%s'" % (name)
- cursor.execute(sql)
- results = cursor.fetchone()
- if results[1] > 0:
- sql = "INSERT INTO borrow(rid,bid,btime) VALUES(%s,%s,CURDATE())" % (id, results[0])
- try:
- cursor.execute(sql)
- db.commit()
- msg._show(title="成功",message="借阅成功!")
- except:
- msg._show(title="系统故障",message="借阅失败!")
- else:
- msg._show(title="库存量不足",message="对不起,您要借阅的图书库存不足!")
- db.close()
-
- def return_end():
- db = pymysql.connect("localhost", "root", "*****", "library")
- cursor = db.cursor()
- id = input_id.get()
- name = input9.get()
- sql = "SELECT bid FROM book WHERE bname = '%s'" % (name)
- cursor.execute(sql)
- results = cursor.fetchone()
- sql = "SELECT lid FROM borrow WHERE bid=%s AND rid=%s" % (results[0], id)
- cursor.execute(sql)
- result = cursor.fetchone()
- sql = "UPDATE borrow SET rtime=CURDATE()WHERE lid= %s"%(result[0])
- try:
- cursor.execute(sql)
- db.commit()
- msg._show(title='成功',message='还书成功')
- except:
- msg._show(title='系统故障',message='还失败')
- db.close()
-
- def donate_end():
- db = pymysql.connect("localhost", "root", "*****", "library")
- cursor = db.cursor()
- id = input_id.get()
- name = input10.get()
- amount = input11.get()
- write = input12.get()
- tim= input13.get()
- sql = "SELECT num FROM book WHERE bname='%s'" % (name)
- cursor.execute(sql)
- results = cursor.fetchone()
- if results:
- sql = "UPDATE book SET num=num+%s WHERE bname='%s'" % (amount, name)
- try:
- cursor.execute(sql)
- db.commit()
- msg._show(title="成功",message="捐书成功!谢谢您")
- except:
- msg._show(title="系统故障",message="捐书失败")
- db.rollback()
- else:
- sql = "SELECT MAX(bid) FROM book"
- cursor.execute(sql)
- results = cursor.fetchone()
- results[0] = results[0] + 1
- sql = "INSERT INTO book VALUES (%s,'%s',%s,'%s','%s')" % (results, write, amount, name, tim)
- try:
- cursor.execute(sql)
- db.commit()
- msg._show(title="成功", message="捐书成功!谢谢您")
- except:
- msg._show(title="错误", message="输入信息有误")
- db.rollback()
- db.close()
-
- def book_select():
- v1=tk.StringVar()
- global root2
- root2=tk.Tk()
- root2.title("查询图书")
- global input_book
- labe1 = tk.Label(root2, text="请输入您要查询的图书名:", font=36).grid(row=0, column=0)
- input_book = tk.Entry(root2,textvariable=v1)
- input_book.grid(row=0,column=1)
- tk.Button(root2, text='确认', width=10, command=check_book).grid(row=1, column=0, sticky=tk.W, padx=10, pady=5)
- tk.Button(root2, text='取消', width=10, command=exit_login3).grid(row=1, column=1, sticky=tk.E, padx=10, pady=5)
-
- def book_borrow():
- db = pymysql.connect("localhost", "root", "*****", "library")
- cursor = db.cursor()
- id=input_id.get()
- sql = "SELECT bleft FROM reader WHERE rid = %s" % (id)
- cursor.execute(sql)
- result = cursor.fetchone()
- v_borrow=tk.StringVar()
- if result[0] == 0:
- msg._show(title="错误",message="你已达最大借阅量,借阅失败")
- global root2
- root2 = tk.Tk()
- root2 .title("借阅")
- global input8
- labe1 = tk.Label(root2, text="请输入您要借阅的图书名:", font=36).grid(row=0, column=0)
- input8 = tk.Entry(root2, textvariable=v_borrow)
- input8.grid(row=1,column=0)
- tk.Button(root2, text='确认', width=10, command=borrow_end).grid(row=2, column=0, sticky=tk.W, padx=10, pady=5)
- tk.Button(root2, text='取消', width=10, command=exit_login3).grid(row=2, column=1, sticky=tk.E, padx=10, pady=5)
- db.close()
-
- def return_book():
- global root2
- root2 = tk.Tk()
- root2.title("还书")
- v1=tk.StringVar()
- global input9
- labe1 = tk.Label(root2, text="请输入您要还的图书名:", font=36).grid(row=0, column=0)
- input9 = tk.Entry(root2, textvariable=v1)
- input9.grid(row=1, column=0)
- tk.Button(root2, text='确认', width=10, command=return_end).grid(row=2, column=0, sticky=tk.W, padx=10, pady=5)
- tk.Button(root2, text='取消', width=10, command=exit_login3).grid(row=2, column=1, sticky=tk.E, padx=10, pady=5)
-
- def donate_book():
- global root2
- root2 = tk.Tk()
- root2.title("捐书")
- v1 = tk.StringVar()
- v2 = tk.StringVar()
- v3 = tk.StringVar()
- v4 = tk.StringVar()
- global input10,input11,input12,input13
- labe1 = tk.Label(root2, text="请输入您要捐赠的图书名:", font=36).grid(row=0, column=0)
- labe12 = tk.Label(root2, text="请输入您要捐赠的图书的数量:", font=36).grid(row=1, column=0)
- labe13 = tk.Label(root2, text="请输入您要捐赠的作者:", font=36).grid(row=2, column=0)
- labe4 = tk.Label(root2, text="请输入您要捐赠的图书的出版时间:", font=36).grid(row=3, column=0)
- input10 = tk.Entry(root2, textvariable=v1)
- input10.grid(row=0, column=1)
- input11 = tk.Entry(root2, textvariable=v2)
- input11.grid(row=1, column=1)
- input12 = tk.Entry(root2, textvariable=v3)
- input12.grid(row=2, column=1)
- input13 = tk.Entry(root2, textvariable=v4)
- input13.grid(row=3, column=1)
- tk.Button(root2, text='确认', width=10, command=donate_end).grid(row=4, column=0, sticky=tk.W, padx=10, pady=5)
- tk.Button(root2, text='取消', width=10, command=exit_login3).grid(row=4, column=1, sticky=tk.E, padx=10, pady=5)
-
-
- def success_tip(id):
- root1 = tk.Tk()
- root1.title('YTU图书管理系统')
- labe1 = tk.Label(root1, text="欢迎来到YTU图书管理系统,请选择您要进行的操作:", font=36).grid(row=0, column=0)
- tk.Button(root1, text='查询图书', command=book_select).grid(row=1, column=0)
- tk.Button(root1, text='借阅图书', command=book_borrow).grid(row=2, column=0)
- tk.Button(root1, text='归还图书', command=return_book).grid(row=3, column=0)
- tk.Button(root1, text='捐赠图书', command=donate_book).grid(row=4, column=0)
- tk.Button(root1, text='退出', command=resiger).grid(row=5, column=0)
- root1.mainloop()
- def exit_login2():
- root1.destroy()
-
- def login_check():
- db = pymysql.connect("localhost", "root", "*****", "library")
- cursor = db.cursor()
- id=input_id.get()
- name=input2.get()
- sql = "SELECT rname FROM reader WHERE rid='%s'" % (id)
- cursor.execute(sql)
- results = cursor.fetchone()
- if results:
- if name == results[0]:
- success_tip(id)
- else:
- msg._show(title='错误!',message='账号密码输入错误!')
- else:
- msg._show(title='错误!',message='您输入的用户不存在!')
- db.close()
-
- def auto_login():
- global root1
- root1 = tk.Tk()
- v1 = tk.StringVar()
- v2 = tk.StringVar()
- root1.title("登入")
- labe1=tk.Label(root1,text="学号:",font=36).grid(row=0, column=0)
- label2=tk.Label(root1,text="密码:",font=36).grid(row=1,column=0)
- global input_id,input2
- input_id = tk.Entry(root1, textvariable=v1)
- input_id.grid(row=0, column=1, padx=10, pady=5)
- input2 = tk.Entry(root1, textvariable=v2, show='*')
- input2.grid(row=1, column=1, padx=10, pady=5)
- tk.Button(root1, text='登录', width=10, command=login_check).grid(row=3, column=0, sticky=tk.W, padx=10, pady=5)
- tk.Button(root1, text='退出', width=10, command=exit_login2).grid(row=3, column=1, sticky=tk.E, padx=10, pady=5)
-
- def exit_login():
- root.destroy()
-
- def exit_login3():
- root2.destroy()
-
- def resiger_end():
- db = pymysql.connect("localhost", "root", "*****", "library")
- cursor = db.cursor()
- rid = input1.get()
- name = input2.get()
- sex = input3.get()
- clas = input4.get()
- sql = "INSERT INTO reader VALUES(%s,'%s','%s','%s',10)" % (rid, name, sex, clas)
- try:
- cursor.execute(sql)
- db.commit()
- msg._show(title='成功', message='注册成功!')
- except:
- msg._show(title='错误', message='注册失败!')
- db.close()
-
- def resiger():
- root2 = tk.Tk()
- root2.title("注册")
- labe1 = tk.Label(root2, text="学号:", font=36).grid(row=0,column=0)
- label2 = tk.Label(root2, text="密码:", font=36).grid(row=1,column=0)
- label3 = tk.Label(root2,text="性别:",font=36).grid(row=2,column=0)
- label4 = tk.Label(root2,text="班级:",font=36).grid(row=3,column=0)
- v1 = tk.StringVar()
- v2 = tk.StringVar()
- v3 = tk.StringVar()
- v4 = tk.StringVar()
- global input1,input2,input3,input4
- input1 = tk.Entry(root2, textvariable=v1)
- input1.grid(row=0, column=1, padx=10, pady=5)
- input2 = tk.Entry(root2, textvariable=v2, show='*')
- input2.grid(row=1, column=1, padx=10, pady=5)
- input3 = tk.Entry(root2, textvariable=v3)
- input3.grid(row=2, column=1, padx=10, pady=5)
- input4 = tk.Entry(root2, textvariable=v4,)
- input4.grid(row=3, column=1, padx=10, pady=5)
- tk.Button(root2, text='确认', width=10, command=resiger_end).grid(row=4, column=0, sticky=tk.W, padx=10, pady=5)
- tk.Button(root2, text='取消', width=10, command=exit_login3).grid(row=4, column=1, sticky=tk.E, padx=10, pady=5)
-
- def frame():
- global root
- root = tk.Tk()
- root.title('YTU图书管理系统登录')
- root.geometry("500x500")
- #photo=tk.PhotoImage(file=BACK_PATH)
- #theLabel = tk.Label(root,image = photo,compound = tk.CENTER,fg = "white").pack(fill="both",expand=1)
- tk.Button(root, text='登入', width=70,height=9, command=auto_login).grid(row=0, column=0,)
- tk.Button(root, text='注册', width=70,height=9, command=resiger).grid(row=1, column=0)
- tk.Button(root, text='退出',width=70,height=9,command=exit_login).grid(row=2, column=0)
- root.mainloop()
-
-
- if __name__ == '__main__':
- frame()
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。