日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > windows >内容正文

windows

Python+tkinter库实现简单图书管理系统

發(fā)布時(shí)間:2024/3/12 windows 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Python+tkinter库实现简单图书管理系统 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

  • 前言
  • 一、MySQL是什么?
  • 二、Tkinter庫(kù)
  • 三、Code步驟
    • 1.引入庫(kù)
    • 2.使用tkinter搭建系統(tǒng)
    • 3.定義函數(shù)(發(fā)送消息,操作mysql數(shù)據(jù)庫(kù))
  • 總結(jié)


前言

使用mysql數(shù)據(jù)庫(kù)存儲(chǔ)數(shù)據(jù),使用python中tkinter庫(kù)建立一個(gè)簡(jiǎn)單的圖書管理系統(tǒng)


提示:以下是本篇文章正文內(nèi)容,下面案例可供參考

一、MySQL是什么?

MySQL 是一種關(guān)聯(lián)數(shù)據(jù)庫(kù)管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫(kù)將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)放在一個(gè)大倉(cāng)庫(kù)內(nèi),增加了速度并提高了靈活性。

  • MySQL的使用教程
    https://www.runoob.com/mysql/mysql-tutorial.html

二、Tkinter庫(kù)

Tkinter 是 Python 的標(biāo)準(zhǔn) GUI 庫(kù)。Python 使用 Tkinter 可以快速的創(chuàng)建 GUI 應(yīng)用程序。

由于 Tkinter 是內(nèi)置到 python 的安裝包中、只要安裝好 Python 之后就能 import Tkinter 庫(kù)、而且 IDLE 也是用 Tkinter 編寫而成、對(duì)于小白而言,搭建一個(gè)簡(jiǎn)單的圖形界面 Tkinter 還是一個(gè)不錯(cuò)的選擇。

  • Tkinterl的使用教程
    https://www.runoob.com/python/python-gui-tkinter.html

三、Code步驟

1.引入庫(kù)

import tkinter as tk import tkinter.ttk as ttk from pymysql import connect from tkinter.messagebox import showinfo from tkinter.constants import END, N, SINGLE

2.使用tkinter搭建系統(tǒng)

代碼如下(示例):

#主窗口 root=tk.Tk() root.title("YU_book_manage_system") root.geometry("750x500+100+100")#菜單 menubar=tk.Menu(root) filemenu=tk.Menu(menubar,tearoff=0) menubar.add_cascade(label="菜單",menu=filemenu) filemenu.add_command(label="打開") filemenu.add_command(label="保存") filemenu.add_command(label="退出",command=root.destroy) root.config(menu=menubar)#面板&框架 pw=tk.PanedWindow(root,orient="vertical",sashrelief="sunken") pw.pack(fill="both",expand=1)pw1=tk.PanedWindow(pw,orient="horizontal",sashrelief="sunken") pw2=tk.PanedWindow(pw,orient="horizontal",sashrelief="sunken") top_frame,left_frame,mid_frame,right_frame=ttk.Frame(pw1,height=125,relief="flat"),\ttk.Frame(pw2,relief="sunken"),\ttk.Frame(pw2,relief="raised"),\ttk.Frame(pw2,relief="ridge")pw.add(pw1),pw.add(pw2),pw1.add(top_frame),pw2.add(left_frame),pw2.add(mid_frame),pw2.add(right_frame)labelframe=tk.LabelFrame(left_frame,text="圖書信息",font=("迷你簡(jiǎn)魏碑",16),labelanchor=N) ttk.Label(labelframe,text=("編號(hào)","圖書名稱","圖書作者","出版日期","圖書數(shù)量"),font=("華文行楷",11),anchor="n").pack()#列表框&滾動(dòng)條 scrollbar=ttk.Scrollbar(labelframe) listbox=tk.Listbox(labelframe,width=60,font=("黑體",11),height=20,yscrollcommand=scrollbar,selectmode=SINGLE) listbox.select_set(0) #鏈接滾動(dòng)條&列表框 scrollbar.config(command=listbox.yview)labelframe.pack(expand=0),scrollbar.pack(side="right",fill="y",pady=2),listbox.pack(side="left",pady=2)#初始listbox show_book()#填充文本&輸入框 ttk.Label(top_frame,text="圖書管理系統(tǒng)",font=("方正字跡-呂建德行楷繁體",25)).pack(pady=30) ttk.Label(mid_frame,text="圖書編號(hào)",font=("黑體",10)).place(x=0,y=55) ttk.Label(mid_frame,text="圖書名稱",font=("黑體",10)).place(x=0,y=120) ttk.Label(mid_frame,text="圖書作者",font=("黑體",10)).place(x=0,y=185) ttk.Label(mid_frame,text="出版日期",font=("黑體",10)).place(x=0,y=250) ttk.Label(mid_frame,text="圖書數(shù)量",font=("黑體",10)).place(x=0,y=315)#entry變量 v1=tk.StringVar() v2=tk.StringVar() v3=tk.StringVar() v4=tk.StringVar() v5=tk.StringVar()e1=ttk.Entry(mid_frame,width=16,textvariable=v1) e2=ttk.Entry(mid_frame,width=16,textvariable=v2) e3=ttk.Entry(mid_frame,width=16,textvariable=v3) e4=ttk.Entry(mid_frame,width=16,textvariable=v4) e5=ttk.Entry(mid_frame,width=16,textvariable=v5)#單獨(dú)放置(由于get方法) e1.pack(padx=5,pady=80) e2.place(x=5,y=145) e3.place(x=5,y=205) e4.place(x=5,y=270) e5.place(x=5,y=335)#消息發(fā)送 button1=ttk.Button(right_frame,text="查詢圖書",command=find_book).pack(pady=64) button2=ttk.Button(right_frame,text="增加圖書",command=add_book).pack() button3=ttk.Button(right_frame,text="修改圖書",command=mod_book).pack(pady=64) button4=ttk.Button(right_frame,text="刪除圖書",command=del_book).pack() button5=ttk.Button(mid_frame,text="寫入",command=get_data).place(x=20,y=15)root.mainloop()

圖書管理界面截圖


3.定義函數(shù)(發(fā)送消息,操作mysql數(shù)據(jù)庫(kù))

函數(shù)建議放在前面,代碼如下(示例):

#添加圖書 def add_book():try:conn=connect(host="localhost",port=3306,database="book_manage",user="root",password="yusql",charset="utf8")cur=conn.cursor()cur.execute("select *from books")data=cur.fetchall()param2=e2.get()param3=e3.get()param4=e4.get()param5=int(e5.get())for item in data:if item[1]==param2 and item[2]==param3:param5+=1cur.execute("update books set bnumber=%s where btitle=%s and bauthor=%s",(param5,param2,param3))conn.commit()show_book()showinfo("窗口","圖書存在,數(shù)量加一")return()cur.execute("insert into books(btitle,bauthor,byu_date,bnumber)values(%s,%s,%s,%s)",(param2,param3,param4,param5))conn.commit()show_book()showinfo("窗口","添加成功")except:showinfo("窗口","輸入格式錯(cuò)誤")#刪除圖書 def del_book():conn=connect(host="localhost",port=3306,database="book_manage",user="root",password="yusql",charset="utf8")cur=conn.cursor()param1=int(e1.get())param2=e2.get()param3=e3.get()param4=e4.get()param5=int(e5.get())if param5>1:param5-=1cur.execute("update books set id=%s,btitle=%s,bauthor=%s,byu_date=%s,bnumber=%s where btitle=%s and bauthor=%s",(param1,param2,param3,param4,param5,param2,param3))conn.commit()show_book()showinfo("窗口","圖書存在,數(shù)量減一")return() else:cur.execute("delete from books where id=%s and btitle=%s",(param1,param2))conn.commit()cur.execute("alter table books drop id")cur.execute("alter table books add id int(12) primary key not null auto_increment first")show_book()showinfo("窗口","刪除成功")#更新圖書 def show_book():conn=connect(host="localhost",port=3306,database="book_manage",user="root",password="yusql",charset="utf8")cur=conn.cursor()cur.execute("select *from books")data=cur.fetchall()listbox.delete(0,END)for item in data:listbox.insert("end",item) cur.close()conn.close()#修改圖書 def mod_book():try:conn=connect(host="localhost",port=3306,database="book_manage",user="root",password="yusql",charset="utf8")cur=conn.cursor()param1=int(e1.get())param2=e2.get()param3=e3.get()param4=e4.get()param5=int(e5.get())cur.execute("update books set id=%s,btitle=%s,bauthor=%s,byu_date=%s,bnumber=%s where id=%s",(param1,param2,param3,param4,param5,param1))conn.commit()show_book()showinfo("窗口","修改成功")except:showinfo("窗口","輸入格式錯(cuò)誤")#查詢圖書 def find_book():try:conn=connect(host="localhost",port=3306,database="book_manage",user="root",password="yusql",charset="utf8")cur=conn.cursor()param=e2.get()cur.execute("select *from books")data=cur.fetchall()for item in data:if item[1]==param:showinfo("窗口",item)cur.close()conn.close()except:showinfo("窗口","無該圖書")#得到選中列表框數(shù)據(jù) def get_data():value=listbox.get(listbox.curselection())v1.set(value[0])v2.set(value[1])v3.set(value[2])v4.set(value[3])v5.set(value[4])

總結(jié)

本文僅僅簡(jiǎn)單使用了tkinter搭建了一個(gè)簡(jiǎn)單的圖書管理系統(tǒng),你也可以搭建其他的信息管理系統(tǒng)或者對(duì)代碼進(jìn)行改進(jìn),添加更多的功能。

總結(jié)

以上是生活随笔為你收集整理的Python+tkinter库实现简单图书管理系统的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 91成人入口| 日本啊啊视频 | 一区不卡视频 | 综合久久久久 | 国产一区二区视频在线 | 久久精品国产99国产 | 欧美一级色 | 日本欧美www | 好妞色妞国产在线视频 | 无码精品在线观看 | 中出在线播放 | 亚洲精品高潮久久久久久久 | 免费亚洲网站 | 久久大香焦 | 99国产在线 | 国产吞精囗交久久久 | 精品人妻伦一二三区久 | 夜夜骑av | 中文字幕一区二区在线观看 | 91亚洲影院 | 国产一区二区欧美 | 亚洲乱码一区二区三区在线观看 | 成人性生交大片免费看96 | 美痴女~美人上司北岛玲 | 国产免费黄色 | 精品人妻一区二区三区三区四区 | 天天爱天天草 | 亚洲一区二区天堂 | 国产 中文 字幕 日韩 在线 | 成人一级黄色 | 欧美三级网站在线观看 | 久久精品大全 | 午夜视频 | 把高贵美妇调教成玩物 | 中文精品久久久久人妻不卡 | 91久久久久 | 黄色香蕉网站 | 四虎国产精品成人免费入口 | 国语对白久久 | 激情全身裸吻胸 | 超碰2| 黄色av中文字幕 | 91在线观看网站 | 樱桃视频一区二区三区 | 男女草逼网站 | 大咪咪av| 久久艹在线 | 久久国产激情视频 | 日韩av一二区| 乱色视频 | 神马伦理影视 | 欧美 日韩 高清 | 久久久www成人免费精品 | 最新日本中文字幕 | 亚洲精品9999| 乖疼润滑双性初h | 国产a∨精品一区二区三区仙踪林 | 少妇高潮一区二区三区喷水 | 捆绑无遮挡打光屁股 | 欧美最顶级a∨艳星 | 男女曰逼视频 | 在线免费观看高清视频 | 国产精品69久久 | 国产精品色在线 | 亚洲一区精品在线观看 | 欧美性猛交久久久乱大交小说 | 亚洲男人天堂电影 | 狠狠网站 | 久久久极品| 欧美爱爱爱 | 成人h片 | 成人午夜视频一区二区播放 | 大肉大捧一进一出好爽视频动漫 | 国产又黄又粗又猛又爽 | 精品亚洲国产成av人片传媒 | 中文在线资源天堂 | 99久久人妻精品免费二区 | 欧美又黑又粗 | 成人午夜在线播放 | 久久噜噜噜精品国产亚洲综合 | 蕾丝视频污 | 中文字幕一区二区三区乱码在线 | 国产一级做a爱免费视频 | 黄色a一级视频 | 在线观看日韩一区二区 | 国产亚洲综合av | 国产后入清纯学生妹 | 成人av图片 | 麻豆69xxnxxporn | 国产青青在线 | 狠狠干夜夜操 | 中文在线永久免费观看 | 毛片9| 亚洲九九精品 | 国产第页| 香蕉久久网站 | youjizz.com最新 | 日韩精品免费在线 | 白嫩情侣偷拍呻吟刺激 |